react-native-screen-transitions 3.10.0 → 3.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/blank-stack/components/stack-view.js +64 -32
- package/lib/commonjs/blank-stack/components/stack-view.js.map +1 -1
- package/lib/commonjs/component-stack/components/stack-view.js +57 -23
- package/lib/commonjs/component-stack/components/stack-view.js.map +1 -1
- package/lib/commonjs/native-stack/views/NativeStackView.native.js +23 -13
- package/lib/commonjs/native-stack/views/NativeStackView.native.js.map +1 -1
- package/lib/commonjs/shared/adapters/with-screen-transitions/context.js +4 -0
- package/lib/commonjs/shared/adapters/with-screen-transitions/context.js.map +1 -1
- package/lib/commonjs/shared/adapters/with-screen-transitions/stack-layout.js +14 -8
- package/lib/commonjs/shared/adapters/with-screen-transitions/stack-layout.js.map +1 -1
- package/lib/commonjs/shared/animation/snap-to.js +1 -0
- package/lib/commonjs/shared/animation/snap-to.js.map +1 -1
- package/lib/commonjs/shared/components/activity/variants/activity-screen.js +26 -10
- package/lib/commonjs/shared/components/activity/variants/activity-screen.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/components/boundary-target.js +1 -1
- package/lib/commonjs/shared/components/boundary/components/boundary-target.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +18 -7
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js +5 -12
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js +6 -13
- package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js +67 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +44 -37
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/host.js +2 -2
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/host.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.js +30 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +74 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +17 -32
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js +10 -19
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/utils/naming.js +8 -1
- package/lib/commonjs/shared/components/boundary/portal/utils/naming.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js +4 -5
- package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/utils/measured-bounds.js +19 -31
- package/lib/commonjs/shared/components/boundary/utils/measured-bounds.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/utils/refresh-signals.js +14 -20
- package/lib/commonjs/shared/components/boundary/utils/refresh-signals.js.map +1 -1
- package/lib/commonjs/shared/components/create-transition-aware-component.js +9 -29
- package/lib/commonjs/shared/components/create-transition-aware-component.js.map +1 -1
- package/lib/commonjs/shared/components/screen-container/hooks/use-backdrop-pointer-events.js +5 -9
- package/lib/commonjs/shared/components/screen-container/hooks/use-backdrop-pointer-events.js.map +1 -1
- package/lib/commonjs/shared/components/screen-container/hooks/use-content-layout.js +3 -8
- package/lib/commonjs/shared/components/screen-container/hooks/use-content-layout.js.map +1 -1
- package/lib/commonjs/shared/components/screen-container/layers/backdrop.js +7 -10
- package/lib/commonjs/shared/components/screen-container/layers/backdrop.js.map +1 -1
- package/lib/commonjs/shared/components/screen-container/layers/content.js +10 -16
- package/lib/commonjs/shared/components/screen-container/layers/content.js.map +1 -1
- package/lib/commonjs/shared/components/screen-container/layers/surface-container.js +1 -5
- package/lib/commonjs/shared/components/screen-container/layers/surface-container.js.map +1 -1
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +10 -12
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-open-transition-intent.js +2 -3
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-open-transition-intent.js.map +1 -1
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js +5 -1
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js.map +1 -1
- package/lib/commonjs/shared/components/screen-lifecycle/index.js +2 -4
- package/lib/commonjs/shared/components/screen-lifecycle/index.js.map +1 -1
- package/lib/commonjs/shared/configs/presets.js +10 -10
- package/lib/commonjs/shared/configs/presets.js.map +1 -1
- package/lib/commonjs/shared/constants.js +1 -0
- package/lib/commonjs/shared/constants.js.map +1 -1
- package/lib/commonjs/shared/hooks/navigation/use-navigation-helpers.js +9 -8
- package/lib/commonjs/shared/hooks/navigation/use-navigation-helpers.js.map +1 -1
- package/lib/commonjs/shared/hooks/navigation/use-screen-state.js +1 -3
- package/lib/commonjs/shared/hooks/navigation/use-screen-state.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/animation.provider.js +7 -7
- package/lib/commonjs/shared/providers/screen/animation/animation.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.js +1 -3
- package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +1 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js +4 -10
- package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js +5 -7
- package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/index.js +2 -2
- package/lib/commonjs/shared/providers/screen/animation/use-screen-animation.js +1 -1
- package/lib/commonjs/shared/providers/screen/animation/use-screen-animation.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/descriptors/descriptors.provider.js +34 -42
- package/lib/commonjs/shared/providers/screen/descriptors/descriptors.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/descriptors/index.js +0 -12
- package/lib/commonjs/shared/providers/screen/descriptors/index.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/gestures.provider.js +7 -7
- package/lib/commonjs/shared/providers/screen/gestures/gestures.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js +3 -9
- package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture.js +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/hooks/use-stable-runtime-config.js +1 -3
- package/lib/commonjs/shared/providers/screen/gestures/hooks/use-stable-runtime-config.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/index.js +2 -2
- package/lib/commonjs/shared/providers/screen/gestures/ownership/shadowing-claims.js +2 -2
- package/lib/commonjs/shared/providers/screen/gestures/ownership/shadowing-claims.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js +8 -11
- package/lib/commonjs/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pan/activation/use-pan-activation.js +2 -4
- package/lib/commonjs/shared/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js +5 -8
- package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-reset.js +10 -0
- package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-reset.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pan/use-build-pan-gesture.js +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pan/use-build-pan-gesture.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +8 -6
- package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-reset.js +7 -0
- package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-reset.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.js +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js +5 -5
- package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +2 -2
- package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/options/index.js +2 -2
- package/lib/commonjs/shared/providers/screen/options/options.provider.js +4 -8
- package/lib/commonjs/shared/providers/screen/options/options.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/screen-composer.js +2 -0
- package/lib/commonjs/shared/providers/screen/screen-composer.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/constants.js +10 -4
- package/lib/commonjs/shared/providers/screen/styles/constants.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-interpolator-style-handoff.js +93 -0
- package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-interpolator-style-handoff.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js +48 -5
- package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/helpers/select-interpolator-frame.js +32 -0
- package/lib/commonjs/shared/providers/screen/styles/helpers/select-interpolator-frame.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/styles/helpers/visibility-gate.js +14 -1
- package/lib/commonjs/shared/providers/screen/styles/helpers/visibility-gate.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +64 -40
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +1 -3
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/index.js +0 -6
- package/lib/commonjs/shared/providers/screen/styles/index.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/slot.provider.js +23 -19
- package/lib/commonjs/shared/providers/screen/styles/slot.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js +3 -11
- package/lib/commonjs/shared/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js.map +1 -1
- package/lib/commonjs/shared/providers/stack/blank-stack.provider.js +53 -49
- package/lib/commonjs/shared/providers/stack/blank-stack.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/stack/core.provider.js +20 -39
- package/lib/commonjs/shared/providers/stack/core.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/stack/direct.provider.js +46 -40
- package/lib/commonjs/shared/providers/stack/direct.provider.js.map +1 -1
- package/lib/commonjs/shared/stores/animation.store.js +19 -1
- package/lib/commonjs/shared/stores/animation.store.js.map +1 -1
- package/lib/commonjs/shared/types/stack.types.js.map +1 -1
- package/lib/commonjs/shared/utils/animation/animate-to-progress.js +12 -11
- package/lib/commonjs/shared/utils/animation/animate-to-progress.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/helpers/create-bounds-accessor-core.js +6 -0
- package/lib/commonjs/shared/utils/bounds/helpers/create-bounds-accessor-core.js.map +1 -1
- package/lib/commonjs/shared/utils/create-provider.js +61 -75
- package/lib/commonjs/shared/utils/create-provider.js.map +1 -1
- package/lib/module/blank-stack/components/stack-view.js +66 -34
- package/lib/module/blank-stack/components/stack-view.js.map +1 -1
- package/lib/module/component-stack/components/stack-view.js +60 -26
- package/lib/module/component-stack/components/stack-view.js.map +1 -1
- package/lib/module/native-stack/views/NativeStackView.native.js +24 -14
- package/lib/module/native-stack/views/NativeStackView.native.js.map +1 -1
- package/lib/module/shared/adapters/with-screen-transitions/context.js +3 -0
- package/lib/module/shared/adapters/with-screen-transitions/context.js.map +1 -1
- package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js +14 -8
- package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js.map +1 -1
- package/lib/module/shared/animation/snap-to.js +1 -0
- package/lib/module/shared/animation/snap-to.js.map +1 -1
- package/lib/module/shared/components/activity/variants/activity-screen.js +26 -10
- package/lib/module/shared/components/activity/variants/activity-screen.js.map +1 -1
- package/lib/module/shared/components/boundary/components/boundary-target.js +2 -2
- package/lib/module/shared/components/boundary/components/boundary-target.js.map +1 -1
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +19 -7
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js +5 -12
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -1
- package/lib/module/shared/components/boundary/hooks/use-measurer.js +7 -14
- package/lib/module/shared/components/boundary/hooks/use-measurer.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js +60 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +44 -37
- package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/host.js +2 -2
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/host.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.js +25 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +69 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +17 -32
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js +13 -22
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/utils/naming.js +6 -0
- package/lib/module/shared/components/boundary/portal/utils/naming.js.map +1 -1
- package/lib/module/shared/components/boundary/providers/boundary-root.provider.js +3 -3
- package/lib/module/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
- package/lib/module/shared/components/boundary/utils/measured-bounds.js +17 -28
- package/lib/module/shared/components/boundary/utils/measured-bounds.js.map +1 -1
- package/lib/module/shared/components/boundary/utils/refresh-signals.js +14 -20
- package/lib/module/shared/components/boundary/utils/refresh-signals.js.map +1 -1
- package/lib/module/shared/components/create-transition-aware-component.js +10 -30
- package/lib/module/shared/components/create-transition-aware-component.js.map +1 -1
- package/lib/module/shared/components/screen-container/hooks/use-backdrop-pointer-events.js +8 -12
- package/lib/module/shared/components/screen-container/hooks/use-backdrop-pointer-events.js.map +1 -1
- package/lib/module/shared/components/screen-container/hooks/use-content-layout.js +4 -9
- package/lib/module/shared/components/screen-container/hooks/use-content-layout.js.map +1 -1
- package/lib/module/shared/components/screen-container/layers/backdrop.js +8 -11
- package/lib/module/shared/components/screen-container/layers/backdrop.js.map +1 -1
- package/lib/module/shared/components/screen-container/layers/content.js +12 -18
- package/lib/module/shared/components/screen-container/layers/content.js.map +1 -1
- package/lib/module/shared/components/screen-container/layers/surface-container.js +2 -6
- package/lib/module/shared/components/screen-container/layers/surface-container.js.map +1 -1
- package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +13 -15
- package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
- package/lib/module/shared/components/screen-lifecycle/hooks/use-open-transition-intent.js +3 -4
- package/lib/module/shared/components/screen-lifecycle/hooks/use-open-transition-intent.js.map +1 -1
- package/lib/module/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js +5 -1
- package/lib/module/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js.map +1 -1
- package/lib/module/shared/components/screen-lifecycle/index.js +3 -5
- package/lib/module/shared/components/screen-lifecycle/index.js.map +1 -1
- package/lib/module/shared/configs/presets.js +10 -10
- package/lib/module/shared/configs/presets.js.map +1 -1
- package/lib/module/shared/constants.js +1 -0
- package/lib/module/shared/constants.js.map +1 -1
- package/lib/module/shared/hooks/navigation/use-navigation-helpers.js +9 -8
- package/lib/module/shared/hooks/navigation/use-navigation-helpers.js.map +1 -1
- package/lib/module/shared/hooks/navigation/use-screen-state.js +2 -4
- package/lib/module/shared/hooks/navigation/use-screen-state.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/animation.provider.js +6 -5
- package/lib/module/shared/providers/screen/animation/animation.provider.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.js +2 -4
- package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +2 -2
- package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js +4 -10
- package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/helpers/pipeline.js +6 -8
- package/lib/module/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/index.js +1 -1
- package/lib/module/shared/providers/screen/animation/index.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/use-screen-animation.js +2 -2
- package/lib/module/shared/providers/screen/animation/use-screen-animation.js.map +1 -1
- package/lib/module/shared/providers/screen/descriptors/descriptors.provider.js +34 -40
- package/lib/module/shared/providers/screen/descriptors/descriptors.provider.js.map +1 -1
- package/lib/module/shared/providers/screen/descriptors/index.js +1 -1
- package/lib/module/shared/providers/screen/descriptors/index.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/gestures.provider.js +6 -6
- package/lib/module/shared/providers/screen/gestures/gestures.provider.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js +5 -11
- package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture.js +2 -2
- package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/hooks/use-stable-runtime-config.js +2 -4
- package/lib/module/shared/providers/screen/gestures/hooks/use-stable-runtime-config.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/index.js +1 -1
- package/lib/module/shared/providers/screen/gestures/index.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/ownership/shadowing-claims.js +2 -2
- package/lib/module/shared/providers/screen/gestures/ownership/shadowing-claims.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js +10 -13
- package/lib/module/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pan/activation/use-pan-activation.js +3 -5
- package/lib/module/shared/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js +6 -9
- package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-reset.js +10 -0
- package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-reset.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pan/use-build-pan-gesture.js +2 -2
- package/lib/module/shared/providers/screen/gestures/pan/use-build-pan-gesture.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +9 -7
- package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-reset.js +7 -0
- package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-reset.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.js +2 -2
- package/lib/module/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js +3 -3
- package/lib/module/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +4 -4
- package/lib/module/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
- package/lib/module/shared/providers/screen/options/index.js +1 -1
- package/lib/module/shared/providers/screen/options/index.js.map +1 -1
- package/lib/module/shared/providers/screen/options/options.provider.js +3 -7
- package/lib/module/shared/providers/screen/options/options.provider.js.map +1 -1
- package/lib/module/shared/providers/screen/screen-composer.js +2 -0
- package/lib/module/shared/providers/screen/screen-composer.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/constants.js +8 -3
- package/lib/module/shared/providers/screen/styles/constants.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/helpers/resolve-interpolator-style-handoff.js +88 -0
- package/lib/module/shared/providers/screen/styles/helpers/resolve-interpolator-style-handoff.js.map +1 -0
- package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js +49 -6
- package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/helpers/select-interpolator-frame.js +27 -0
- package/lib/module/shared/providers/screen/styles/helpers/select-interpolator-frame.js.map +1 -0
- package/lib/module/shared/providers/screen/styles/helpers/visibility-gate.js +12 -0
- package/lib/module/shared/providers/screen/styles/helpers/visibility-gate.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +67 -43
- package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +2 -4
- package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/index.js +1 -1
- package/lib/module/shared/providers/screen/styles/index.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/slot.provider.js +23 -18
- package/lib/module/shared/providers/screen/styles/slot.provider.js.map +1 -1
- package/lib/module/shared/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js +3 -11
- package/lib/module/shared/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js.map +1 -1
- package/lib/module/shared/providers/stack/blank-stack.provider.js +50 -47
- package/lib/module/shared/providers/stack/blank-stack.provider.js.map +1 -1
- package/lib/module/shared/providers/stack/core.provider.js +19 -39
- package/lib/module/shared/providers/stack/core.provider.js.map +1 -1
- package/lib/module/shared/providers/stack/direct.provider.js +44 -41
- package/lib/module/shared/providers/stack/direct.provider.js.map +1 -1
- package/lib/module/shared/stores/animation.store.js +17 -0
- package/lib/module/shared/stores/animation.store.js.map +1 -1
- package/lib/module/shared/types/stack.types.js.map +1 -1
- package/lib/module/shared/utils/animation/animate-to-progress.js +12 -11
- package/lib/module/shared/utils/animation/animate-to-progress.js.map +1 -1
- package/lib/module/shared/utils/bounds/helpers/create-bounds-accessor-core.js +6 -0
- package/lib/module/shared/utils/bounds/helpers/create-bounds-accessor-core.js.map +1 -1
- package/lib/module/shared/utils/create-provider.js +62 -76
- package/lib/module/shared/utils/create-provider.js.map +1 -1
- package/lib/typescript/blank-stack/components/stack-view.d.ts +5 -1
- package/lib/typescript/blank-stack/components/stack-view.d.ts.map +1 -1
- package/lib/typescript/blank-stack/types.d.ts +1 -4
- package/lib/typescript/blank-stack/types.d.ts.map +1 -1
- package/lib/typescript/component-stack/components/stack-view.d.ts +5 -1
- package/lib/typescript/component-stack/components/stack-view.d.ts.map +1 -1
- package/lib/typescript/native-stack/views/NativeStackView.native.d.ts +2 -2
- package/lib/typescript/native-stack/views/NativeStackView.native.d.ts.map +1 -1
- package/lib/typescript/shared/adapters/with-screen-transitions/context.d.ts +2 -0
- package/lib/typescript/shared/adapters/with-screen-transitions/context.d.ts.map +1 -1
- package/lib/typescript/shared/adapters/with-screen-transitions/stack-layout.d.ts +1 -1
- package/lib/typescript/shared/adapters/with-screen-transitions/stack-layout.d.ts.map +1 -1
- package/lib/typescript/shared/animation/snap-to.d.ts.map +1 -1
- package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts +3 -2
- package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/hooks/use-measurer.d.ts +1 -1
- package/lib/typescript/shared/components/boundary/hooks/use-measurer.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.d.ts +26 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/components/host.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.d.ts +9 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts +17 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.d.ts +0 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/utils/naming.d.ts +1 -0
- package/lib/typescript/shared/components/boundary/portal/utils/naming.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts +1 -1
- package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/utils/measured-bounds.d.ts +1 -3
- package/lib/typescript/shared/components/boundary/utils/measured-bounds.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/utils/refresh-signals.d.ts +0 -4
- package/lib/typescript/shared/components/boundary/utils/refresh-signals.d.ts.map +1 -1
- package/lib/typescript/shared/components/create-transition-aware-component.d.ts +0 -2
- package/lib/typescript/shared/components/create-transition-aware-component.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-container/hooks/use-backdrop-pointer-events.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-container/hooks/use-content-layout.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-container/layers/backdrop.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-container/layers/content.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-lifecycle/hooks/use-open-transition-intent.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-lifecycle/hooks/use-transition-start-controller.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-lifecycle/index.d.ts.map +1 -1
- package/lib/typescript/shared/configs/index.d.ts +6 -6
- package/lib/typescript/shared/configs/presets.d.ts +6 -6
- package/lib/typescript/shared/configs/presets.d.ts.map +1 -1
- package/lib/typescript/shared/constants.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/navigation/use-navigation-helpers.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/navigation/use-screen-state.d.ts.map +1 -1
- package/lib/typescript/shared/index.d.ts +14 -22
- package/lib/typescript/shared/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/animation/animation.provider.d.ts +4 -1
- package/lib/typescript/shared/providers/screen/animation/animation.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/pipeline.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/animation/index.d.ts +1 -1
- package/lib/typescript/shared/providers/screen/animation/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts +10 -11
- package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/descriptors/index.d.ts +1 -1
- package/lib/typescript/shared/providers/screen/descriptors/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/gestures.provider.d.ts +4 -1
- package/lib/typescript/shared/providers/screen/gestures/gestures.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/hooks/use-screen-gesture-config.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/hooks/use-stable-runtime-config.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/index.d.ts +1 -1
- package/lib/typescript/shared/providers/screen/gestures/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/ownership/shadowing-claims.d.ts +2 -3
- package/lib/typescript/shared/providers/screen/gestures/ownership/shadowing-claims.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pan/activation/use-pan-activation.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-reset.d.ts +4 -1
- package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-reset.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-reset.d.ts +3 -1
- package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-reset.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.d.ts +1 -1
- package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/options/index.d.ts +1 -1
- package/lib/typescript/shared/providers/screen/options/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/options/options.provider.d.ts +4 -1
- package/lib/typescript/shared/providers/screen/options/options.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/screen-composer.d.ts +3 -2
- package/lib/typescript/shared/providers/screen/screen-composer.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/constants.d.ts +1 -0
- package/lib/typescript/shared/providers/screen/styles/constants.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/helpers/resolve-interpolator-style-handoff.d.ts +12 -0
- package/lib/typescript/shared/providers/screen/styles/helpers/resolve-interpolator-style-handoff.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/index.d.ts +5 -3
- package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/helpers/select-interpolator-frame.d.ts +4 -0
- package/lib/typescript/shared/providers/screen/styles/helpers/select-interpolator-frame.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/styles/helpers/visibility-gate.d.ts +10 -0
- package/lib/typescript/shared/providers/screen/styles/helpers/visibility-gate.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts +10 -5
- package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts +1 -1
- package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/index.d.ts +1 -1
- package/lib/typescript/shared/providers/screen/styles/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts +4 -1
- package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/build-blank-stack-state.d.ts.map +1 -1
- package/lib/typescript/shared/providers/stack/blank-stack.provider.d.ts +12 -6
- package/lib/typescript/shared/providers/stack/blank-stack.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/stack/core.provider.d.ts +10 -8
- package/lib/typescript/shared/providers/stack/core.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/stack/direct.provider.d.ts +11 -4
- package/lib/typescript/shared/providers/stack/direct.provider.d.ts.map +1 -1
- package/lib/typescript/shared/stores/animation.store.d.ts +1 -0
- package/lib/typescript/shared/stores/animation.store.d.ts.map +1 -1
- package/lib/typescript/shared/types/gesture.types.d.ts +11 -0
- package/lib/typescript/shared/types/gesture.types.d.ts.map +1 -1
- package/lib/typescript/shared/types/providers/blank-stack-provider.types.d.ts +12 -20
- package/lib/typescript/shared/types/providers/blank-stack-provider.types.d.ts.map +1 -1
- package/lib/typescript/shared/types/providers/direct-stack.types.d.ts +2 -0
- package/lib/typescript/shared/types/providers/direct-stack.types.d.ts.map +1 -1
- package/lib/typescript/shared/types/screen.types.d.ts +0 -30
- package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
- package/lib/typescript/shared/types/stack.types.d.ts +2 -4
- package/lib/typescript/shared/types/stack.types.d.ts.map +1 -1
- package/lib/typescript/shared/utils/animation/animate-to-progress.d.ts +3 -2
- package/lib/typescript/shared/utils/animation/animate-to-progress.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/helpers/create-bounds-accessor-core.d.ts.map +1 -1
- package/lib/typescript/shared/utils/create-provider.d.ts +17 -9
- package/lib/typescript/shared/utils/create-provider.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/blank-stack/components/stack-view.tsx +109 -53
- package/src/blank-stack/types.ts +1 -4
- package/src/component-stack/components/stack-view.tsx +96 -32
- package/src/native-stack/views/NativeStackView.native.tsx +135 -124
- package/src/shared/adapters/with-screen-transitions/context.tsx +5 -0
- package/src/shared/adapters/with-screen-transitions/stack-layout.tsx +20 -7
- package/src/shared/animation/snap-to.ts +1 -0
- package/src/shared/components/activity/variants/activity-screen.tsx +46 -13
- package/src/shared/components/boundary/components/boundary-target.tsx +2 -2
- package/src/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.ts +28 -14
- package/src/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.ts +7 -24
- package/src/shared/components/boundary/hooks/use-measurer.ts +7 -16
- package/src/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.ts +103 -0
- package/src/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.ts +86 -61
- package/src/shared/components/boundary/portal/components/boundary-portal/components/host.tsx +12 -14
- package/src/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.ts +36 -0
- package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.ts +117 -0
- package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts +9 -46
- package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.ts +12 -20
- package/src/shared/components/boundary/portal/utils/naming.ts +11 -0
- package/src/shared/components/boundary/providers/boundary-root.provider.tsx +8 -11
- package/src/shared/components/boundary/utils/measured-bounds.ts +29 -32
- package/src/shared/components/boundary/utils/refresh-signals.ts +23 -26
- package/src/shared/components/create-transition-aware-component.tsx +11 -36
- package/src/shared/components/screen-container/hooks/use-backdrop-pointer-events.ts +10 -8
- package/src/shared/components/screen-container/hooks/use-content-layout.ts +10 -10
- package/src/shared/components/screen-container/layers/backdrop.tsx +20 -9
- package/src/shared/components/screen-container/layers/content.tsx +20 -21
- package/src/shared/components/screen-container/layers/surface-container.tsx +4 -4
- package/src/shared/components/screen-lifecycle/hooks/use-close-transition-intent.ts +19 -9
- package/src/shared/components/screen-lifecycle/hooks/use-open-transition-intent.ts +5 -2
- package/src/shared/components/screen-lifecycle/hooks/use-transition-start-controller.ts +6 -0
- package/src/shared/components/screen-lifecycle/index.tsx +3 -2
- package/src/shared/configs/presets.ts +13 -13
- package/src/shared/constants.ts +1 -0
- package/src/shared/hooks/navigation/use-navigation-helpers.ts +9 -8
- package/src/shared/hooks/navigation/use-screen-state.ts +4 -2
- package/src/shared/providers/screen/animation/animation.provider.tsx +170 -173
- package/src/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.tsx +4 -2
- package/src/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.ts +2 -2
- package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/index.ts +4 -21
- package/src/shared/providers/screen/animation/helpers/pipeline.ts +6 -10
- package/src/shared/providers/screen/animation/index.tsx +1 -1
- package/src/shared/providers/screen/animation/use-screen-animation.tsx +2 -2
- package/src/shared/providers/screen/descriptors/descriptors.provider.tsx +83 -72
- package/src/shared/providers/screen/descriptors/index.tsx +0 -2
- package/src/shared/providers/screen/gestures/gestures.provider.tsx +72 -63
- package/src/shared/providers/screen/gestures/hooks/use-screen-gesture-config.ts +7 -8
- package/src/shared/providers/screen/gestures/hooks/use-screen-gesture.ts +2 -2
- package/src/shared/providers/screen/gestures/hooks/use-stable-runtime-config.ts +4 -2
- package/src/shared/providers/screen/gestures/index.tsx +1 -1
- package/src/shared/providers/screen/gestures/ownership/shadowing-claims.ts +3 -4
- package/src/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.ts +16 -8
- package/src/shared/providers/screen/gestures/pan/activation/use-pan-activation.ts +7 -2
- package/src/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.ts +8 -16
- package/src/shared/providers/screen/gestures/pan/behavior/pan-reset.ts +14 -0
- package/src/shared/providers/screen/gestures/pan/use-build-pan-gesture.ts +2 -2
- package/src/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.ts +12 -11
- package/src/shared/providers/screen/gestures/pinch/behavior/pinch-reset.ts +10 -0
- package/src/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.ts +2 -2
- package/src/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.tsx +4 -4
- package/src/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.ts +4 -4
- package/src/shared/providers/screen/options/index.ts +1 -1
- package/src/shared/providers/screen/options/options.provider.tsx +24 -28
- package/src/shared/providers/screen/screen-composer.tsx +9 -2
- package/src/shared/providers/screen/styles/constants.ts +8 -6
- package/src/shared/providers/screen/styles/helpers/resolve-interpolator-style-handoff.ts +138 -0
- package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/index.ts +71 -4
- package/src/shared/providers/screen/styles/helpers/select-interpolator-frame.ts +41 -0
- package/src/shared/providers/screen/styles/helpers/visibility-gate.ts +25 -0
- package/src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +99 -55
- package/src/shared/providers/screen/styles/hooks/use-maybe-block-visibility.tsx +4 -2
- package/src/shared/providers/screen/styles/index.tsx +0 -1
- package/src/shared/providers/screen/styles/slot.provider.tsx +62 -48
- package/src/shared/providers/stack/blank-stack-state/helpers/build-blank-stack-state.ts +4 -17
- package/src/shared/providers/stack/blank-stack.provider.tsx +66 -75
- package/src/shared/providers/stack/core.provider.tsx +46 -76
- package/src/shared/providers/stack/direct.provider.tsx +77 -57
- package/src/shared/stores/animation.store.ts +19 -0
- package/src/shared/types/gesture.types.ts +11 -0
- package/src/shared/types/providers/blank-stack-provider.types.ts +8 -22
- package/src/shared/types/providers/direct-stack.types.ts +2 -0
- package/src/shared/types/screen.types.ts +0 -32
- package/src/shared/types/stack.types.ts +2 -4
- package/src/shared/utils/animation/animate-to-progress.ts +18 -18
- package/src/shared/utils/bounds/helpers/create-bounds-accessor-core.ts +7 -0
- package/src/shared/utils/create-provider.tsx +105 -136
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/host-name.js +0 -14
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/host-name.js.map +0 -1
- package/lib/commonjs/shared/components/boundary/portal/utils/handoff-target.js +0 -33
- package/lib/commonjs/shared/components/boundary/portal/utils/handoff-target.js.map +0 -1
- package/lib/commonjs/shared/hooks/use-stable-callback-value.js +0 -68
- package/lib/commonjs/shared/hooks/use-stable-callback-value.js.map +0 -1
- package/lib/commonjs/shared/providers/register-bounds.provider.js +0 -311
- package/lib/commonjs/shared/providers/register-bounds.provider.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/origin.provider.js +0 -41
- package/lib/commonjs/shared/providers/screen/origin.provider.js.map +0 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/host-name.js +0 -9
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/host-name.js.map +0 -1
- package/lib/module/shared/components/boundary/portal/utils/handoff-target.js +0 -28
- package/lib/module/shared/components/boundary/portal/utils/handoff-target.js.map +0 -1
- package/lib/module/shared/hooks/use-stable-callback-value.js +0 -63
- package/lib/module/shared/hooks/use-stable-callback-value.js.map +0 -1
- package/lib/module/shared/providers/register-bounds.provider.js +0 -307
- package/lib/module/shared/providers/register-bounds.provider.js.map +0 -1
- package/lib/module/shared/providers/screen/origin.provider.js +0 -33
- package/lib/module/shared/providers/screen/origin.provider.js.map +0 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/host-name.d.ts +0 -2
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/host-name.d.ts.map +0 -1
- package/lib/typescript/shared/components/boundary/portal/utils/handoff-target.d.ts +0 -12
- package/lib/typescript/shared/components/boundary/portal/utils/handoff-target.d.ts.map +0 -1
- package/lib/typescript/shared/hooks/use-stable-callback-value.d.ts +0 -13
- package/lib/typescript/shared/hooks/use-stable-callback-value.d.ts.map +0 -1
- package/lib/typescript/shared/providers/register-bounds.provider.d.ts +0 -25
- package/lib/typescript/shared/providers/register-bounds.provider.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/origin.provider.d.ts +0 -11
- package/lib/typescript/shared/providers/screen/origin.provider.d.ts.map +0 -1
- package/src/shared/components/boundary/portal/components/boundary-portal/helpers/host-name.ts +0 -10
- package/src/shared/components/boundary/portal/utils/handoff-target.ts +0 -48
- package/src/shared/hooks/use-stable-callback-value.ts +0 -76
- package/src/shared/providers/register-bounds.provider.tsx +0 -402
- package/src/shared/providers/screen/origin.provider.tsx +0 -38
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { useLayoutEffect } from "react";
|
|
4
3
|
import { useAnimatedProps, useSharedValue } from "react-native-reanimated";
|
|
5
4
|
import { useDescriptorsStore } from "../../../../../../providers/screen/descriptors";
|
|
6
5
|
import { useScreenSlots } from "../../../../../../providers/screen/styles";
|
|
7
6
|
import { hasCloseTransitionFinished } from "../../../../../../providers/screen/styles/helpers/transition-visual-state";
|
|
8
7
|
import { AnimationStore } from "../../../../../../stores/animation.store";
|
|
9
|
-
import { getLinkKeyFromTag } from "../../../../../../stores/bounds/helpers/link-pairs.helpers";
|
|
10
8
|
import { pairs } from "../../../../../../stores/bounds/internals/state";
|
|
11
9
|
import { SystemStore } from "../../../../../../stores/system.store";
|
|
12
10
|
import { PORTAL_HOST_NAME_RESET_VALUE } from "../../../utils/naming";
|
|
13
11
|
import { isTeleportEnabled } from "../../../utils/teleport-control";
|
|
14
|
-
import {
|
|
12
|
+
import { hasActiveBoundaryPortalLink } from "../helpers/active-pair";
|
|
15
13
|
import { useActiveHostKey } from "../stores/host-registry.store";
|
|
16
|
-
import {
|
|
14
|
+
import { useActivePortalBoundaryHost } from "./use-active-portal-boundary-host";
|
|
17
15
|
export const useBoundaryPortalAttachment = ({
|
|
18
16
|
boundaryId
|
|
19
17
|
}) => {
|
|
@@ -31,30 +29,16 @@ export const useBoundaryPortalAttachment = ({
|
|
|
31
29
|
const portalHostReady = useSharedValue(false);
|
|
32
30
|
const attachedDestination = useSharedValue(null);
|
|
33
31
|
const escapeHostKey = useActiveHostKey(currentScreenKey);
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
localStylesMaps,
|
|
45
|
-
pairKey: sourcePairKey,
|
|
46
|
-
portalHostName: nextPortalHostName,
|
|
47
|
-
portalHostReady,
|
|
48
|
-
screenKey: currentScreenKey,
|
|
49
|
-
slotsMap
|
|
50
|
-
});
|
|
51
|
-
portalHostName.set(nextPortalHostName);
|
|
52
|
-
return () => {
|
|
53
|
-
portalHostName.set(null);
|
|
54
|
-
portalHostReady.set(false);
|
|
55
|
-
unmountPortalBoundaryHostByName(nextPortalHostName);
|
|
56
|
-
};
|
|
57
|
-
}, [boundaryId, currentScreenKey, escapeHostKey, localStylesMaps, portalHostName, portalHostReady, sourcePairKey, slotsMap]);
|
|
32
|
+
useActivePortalBoundaryHost({
|
|
33
|
+
boundaryId,
|
|
34
|
+
currentScreenKey,
|
|
35
|
+
escapeHostKey,
|
|
36
|
+
localStylesMaps,
|
|
37
|
+
portalHostName,
|
|
38
|
+
portalHostReady,
|
|
39
|
+
sourcePairKey,
|
|
40
|
+
slotsMap
|
|
41
|
+
});
|
|
58
42
|
const teleportProps = useAnimatedProps(() => {
|
|
59
43
|
"worklet";
|
|
60
44
|
|
|
@@ -66,10 +50,11 @@ export const useBoundaryPortalAttachment = ({
|
|
|
66
50
|
} = slot?.props ?? {};
|
|
67
51
|
const shouldTeleport = isTeleportEnabled(teleport);
|
|
68
52
|
const hostName = portalHostName.get();
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
53
|
+
const hasActiveLink = hasActiveBoundaryPortalLink({
|
|
54
|
+
boundaryId,
|
|
55
|
+
pairsState: pairs.get(),
|
|
56
|
+
sourcePairKey
|
|
57
|
+
});
|
|
73
58
|
const hasAttachableHost = shouldTeleport && hasActiveLink && portalHostReady.get() && hostName;
|
|
74
59
|
if (hasAttachableHost) {
|
|
75
60
|
attachedDestination.set({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useAnimatedProps","useSharedValue","useDescriptorsStore","useScreenSlots","hasCloseTransitionFinished","AnimationStore","pairs","SystemStore","PORTAL_HOST_NAME_RESET_VALUE","isTeleportEnabled","hasActiveBoundaryPortalLink","useActiveHostKey","useActivePortalBoundaryHost","useBoundaryPortalAttachment","boundaryId","sourcePairKey","s","derivations","currentScreenKey","nextScreenKey","destinationScreenKey","destinationAnimationProgress","getValue","destinationClosing","localStylesMaps","slotsMap","portalHostName","portalHostReady","attachedDestination","escapeHostKey","teleportProps","slot","get","pointerEvents","_pointerEvents","teleport","slotProps","props","shouldTeleport","hostName","hasActiveLink","pairsState","hasAttachableHost","set","animationProgress","closing","attached","hasAttachedCloseFinished","canAttach","targetHostName"],"sourceRoot":"../../../../../../../../../src","sources":["shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { useLayoutEffect
|
|
4
|
-
import { cancelAnimation, measure,
|
|
5
|
-
import { useOriginContext } from "../../../../../../providers/screen/origin.provider";
|
|
3
|
+
import { useLayoutEffect } from "react";
|
|
4
|
+
import { cancelAnimation, measure, runOnUI, useAnimatedReaction, useAnimatedRef, useSharedValue, withDelay, withTiming } from "react-native-reanimated";
|
|
6
5
|
import { ScrollStore } from "../../../../../../stores/scroll.store";
|
|
7
6
|
import { getVisibilityBlockOffset } from "../../../../../../utils/visibility-block-offset";
|
|
8
|
-
import { adjustedMeasuredBoundsForOverscrollDeltas,
|
|
7
|
+
import { adjustedMeasuredBoundsForOverscrollDeltas, correctMeasuredBoundsForVisibilityGate, isMeasurementInViewport } from "../../../../utils/measured-bounds";
|
|
9
8
|
import { clearPortalHostBounds, setPortalHostBounds } from "../stores/host-bounds.store";
|
|
10
9
|
const HOST_MEASUREMENT_RETRY_DELAY_MS = 16;
|
|
11
10
|
export const useHostMeasurement = ({
|
|
@@ -19,10 +18,6 @@ export const useHostMeasurement = ({
|
|
|
19
18
|
}) => {
|
|
20
19
|
const hostRef = useAnimatedRef();
|
|
21
20
|
const scrollMetadata = ScrollStore.getValue(screenKey, "metadata");
|
|
22
|
-
const [canRenderHosts, setCanRenderHosts] = useState(false);
|
|
23
|
-
const {
|
|
24
|
-
originRef
|
|
25
|
-
} = useOriginContext();
|
|
26
21
|
const hasMeasuredHost = useSharedValue(false);
|
|
27
22
|
const retryToken = useSharedValue(0);
|
|
28
23
|
useAnimatedReaction(() => {
|
|
@@ -44,8 +39,7 @@ export const useHostMeasurement = ({
|
|
|
44
39
|
return;
|
|
45
40
|
}
|
|
46
41
|
const measured = measure(hostRef);
|
|
47
|
-
|
|
48
|
-
if (!measured || !measuredOrigin) {
|
|
42
|
+
if (!measured) {
|
|
49
43
|
cancelAnimation(retryToken);
|
|
50
44
|
retryToken.set(withDelay(HOST_MEASUREMENT_RETRY_DELAY_MS, withTiming(retryToken.get() + 1, {
|
|
51
45
|
duration: 0
|
|
@@ -53,22 +47,20 @@ export const useHostMeasurement = ({
|
|
|
53
47
|
return;
|
|
54
48
|
}
|
|
55
49
|
cancelAnimation(retryToken);
|
|
56
|
-
hasMeasuredHost.set(true);
|
|
57
50
|
|
|
58
51
|
// A measurement taken mid rubber-band would bake the transient
|
|
59
52
|
// overscroll displacement into the host frame. Store the at-rest
|
|
60
53
|
// position instead; clamped scroll deltas share that basis.
|
|
61
54
|
const currentScroll = scrollMetadata.get();
|
|
62
55
|
const overscrollNormalized = capturesScroll ? adjustedMeasuredBoundsForOverscrollDeltas(measured, currentScroll) : measured;
|
|
63
|
-
const
|
|
56
|
+
const correctedMeasured = correctMeasuredBoundsForVisibilityGate({
|
|
64
57
|
measured: overscrollNormalized,
|
|
65
|
-
origin: measuredOrigin,
|
|
66
58
|
visibilityBlocked: visibilityBlocked.get(),
|
|
67
59
|
visibilityBlockOffset: getVisibilityBlockOffset(viewportHeight),
|
|
68
60
|
viewportWidth,
|
|
69
61
|
viewportHeight
|
|
70
62
|
});
|
|
71
|
-
if (!isMeasurementInViewport(
|
|
63
|
+
if (!isMeasurementInViewport(correctedMeasured, viewportWidth, viewportHeight)) {
|
|
72
64
|
cancelAnimation(retryToken);
|
|
73
65
|
retryToken.set(withDelay(HOST_MEASUREMENT_RETRY_DELAY_MS, withTiming(retryToken.get() + 1, {
|
|
74
66
|
duration: 0
|
|
@@ -76,15 +68,15 @@ export const useHostMeasurement = ({
|
|
|
76
68
|
return;
|
|
77
69
|
}
|
|
78
70
|
setPortalHostBounds(hostKey, {
|
|
79
|
-
x:
|
|
80
|
-
y:
|
|
81
|
-
width:
|
|
82
|
-
height:
|
|
83
|
-
pageX:
|
|
84
|
-
pageY:
|
|
71
|
+
x: correctedMeasured.x,
|
|
72
|
+
y: correctedMeasured.y,
|
|
73
|
+
width: correctedMeasured.width,
|
|
74
|
+
height: correctedMeasured.height,
|
|
75
|
+
pageX: correctedMeasured.pageX,
|
|
76
|
+
pageY: correctedMeasured.pageY,
|
|
85
77
|
scroll: capturesScroll ? currentScroll : null
|
|
86
78
|
});
|
|
87
|
-
|
|
79
|
+
hasMeasuredHost.set(true);
|
|
88
80
|
});
|
|
89
81
|
useLayoutEffect(() => {
|
|
90
82
|
return () => {
|
|
@@ -92,7 +84,6 @@ export const useHostMeasurement = ({
|
|
|
92
84
|
};
|
|
93
85
|
}, [hostKey]);
|
|
94
86
|
return {
|
|
95
|
-
canRenderHosts,
|
|
96
87
|
hostRef
|
|
97
88
|
};
|
|
98
89
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useLayoutEffect","
|
|
1
|
+
{"version":3,"names":["useLayoutEffect","cancelAnimation","measure","runOnUI","useAnimatedReaction","useAnimatedRef","useSharedValue","withDelay","withTiming","ScrollStore","getVisibilityBlockOffset","adjustedMeasuredBoundsForOverscrollDeltas","correctMeasuredBoundsForVisibilityGate","isMeasurementInViewport","clearPortalHostBounds","setPortalHostBounds","HOST_MEASUREMENT_RETRY_DELAY_MS","useHostMeasurement","capturesScroll","enabled","hostKey","screenKey","visibilityBlocked","viewportHeight","viewportWidth","hostRef","scrollMetadata","getValue","hasMeasuredHost","retryToken","get","state","hasAlreadyMeasured","measured","set","duration","currentScroll","overscrollNormalized","correctedMeasured","visibilityBlockOffset","x","y","width","height","pageX","pageY","scroll"],"sourceRoot":"../../../../../../../../../src","sources":["shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
const BOUNDARY_PORTAL_HOST_NAME_SUFFIX = "-portal-host";
|
|
4
|
+
export const createBoundaryPortalHostName = (hostKey, boundaryId, pairKey) => {
|
|
5
|
+
"worklet";
|
|
6
|
+
|
|
7
|
+
return `${hostKey}-${pairKey ? `${pairKey}-` : ""}${boundaryId}${BOUNDARY_PORTAL_HOST_NAME_SUFFIX}`;
|
|
8
|
+
};
|
|
3
9
|
export const PORTAL_HOST_NAME_RESET_VALUE = null;
|
|
4
10
|
//# sourceMappingURL=naming.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PORTAL_HOST_NAME_RESET_VALUE"],"sourceRoot":"../../../../../../../src","sources":["shared/components/boundary/portal/utils/naming.ts"],"mappings":";;AAAA,OAAO,
|
|
1
|
+
{"version":3,"names":["BOUNDARY_PORTAL_HOST_NAME_SUFFIX","createBoundaryPortalHostName","hostKey","boundaryId","pairKey","PORTAL_HOST_NAME_RESET_VALUE"],"sourceRoot":"../../../../../../../src","sources":["shared/components/boundary/portal/utils/naming.ts"],"mappings":";;AAAA,MAAMA,gCAAgC,GAAG,cAAc;AAEvD,OAAO,MAAMC,4BAA4B,GAAGA,CAC3CC,OAAe,EACfC,UAAkB,EAClBC,OAAuB,KACnB;EACJ,SAAS;;EACT,OAAO,GAAGF,OAAO,IAAIE,OAAO,GAAG,GAAGA,OAAO,GAAG,GAAG,EAAE,GAAGD,UAAU,GAAGH,gCAAgC,EAAE;AACpG,CAAC;AAED,OAAO,MAAMK,4BAA4B,GAAG,IAAI","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@ import { useImperativeHandle, useLayoutEffect, useMemo, useRef } from "react";
|
|
|
4
4
|
import { useAnimatedRef } from "react-native-reanimated";
|
|
5
5
|
import { useDescriptorsStore } from "../../../providers/screen/descriptors";
|
|
6
6
|
import { useComposedSlotStyles, useSlotStackingStyles } from "../../../providers/screen/styles";
|
|
7
|
+
import { useBlankStackStore } from "../../../providers/stack/blank-stack.provider";
|
|
7
8
|
import { createBoundTag } from "../../../stores/bounds/helpers/link-pairs.helpers";
|
|
8
9
|
import createProvider from "../../../utils/create-provider";
|
|
9
10
|
import { logger } from "../../../utils/logger";
|
|
@@ -14,7 +15,6 @@ const MULTIPLE_TARGETS_WARNING = "Multiple Boundary.Target elements were rendere
|
|
|
14
15
|
export const TARGET_OUTSIDE_ROOT_WARNING = "Boundary.Target must be rendered inside Transition.Boundary or a component created by createBoundaryComponent.";
|
|
15
16
|
export const {
|
|
16
17
|
BoundaryRootProvider,
|
|
17
|
-
useBoundaryRootContext,
|
|
18
18
|
useBoundaryRootStore
|
|
19
19
|
} = createProvider("BoundaryRoot", {
|
|
20
20
|
guarded: false
|
|
@@ -38,9 +38,9 @@ export const {
|
|
|
38
38
|
escapeClipping
|
|
39
39
|
});
|
|
40
40
|
const currentScreenKey = useDescriptorsStore(s => s.derivations.currentScreenKey);
|
|
41
|
-
const
|
|
41
|
+
const isCurrentScreenClosing = useBlankStackStore(store => store?.scenesByKey[currentScreenKey]?.activity === "closing");
|
|
42
42
|
const retainedBoundTagRef = useRef(requestedBoundTag);
|
|
43
|
-
const shouldRetainClosingBoundTag = portalRuntime.handoff &&
|
|
43
|
+
const shouldRetainClosingBoundTag = portalRuntime.handoff && isCurrentScreenClosing;
|
|
44
44
|
|
|
45
45
|
// Navigation can update a retained closing route's params before that
|
|
46
46
|
// route leaves the stack. Keep its handoff identity stable so the payload
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useImperativeHandle","useLayoutEffect","useMemo","useRef","useAnimatedRef","useDescriptorsStore","useComposedSlotStyles","useSlotStackingStyles","createBoundTag","createProvider","logger","useBoundaryMeasurement","resolveBoundaryPortal","MULTIPLE_TARGETS_WARNING","TARGET_OUTSIDE_ROOT_WARNING","BoundaryRootProvider","
|
|
1
|
+
{"version":3,"names":["useImperativeHandle","useLayoutEffect","useMemo","useRef","useAnimatedRef","useDescriptorsStore","useComposedSlotStyles","useSlotStackingStyles","useBlankStackStore","createBoundTag","createProvider","logger","useBoundaryMeasurement","resolveBoundaryPortal","MULTIPLE_TARGETS_WARNING","TARGET_OUTSIDE_ROOT_WARNING","BoundaryRootProvider","useBoundaryRootStore","guarded","children","config","enabled","escapeClipping","forwardedRef","group","handoff","hasTarget","id","style","targetCount","targetStyle","requestedBoundTag","String","portalRuntime","currentScreenKey","s","derivations","isCurrentScreenClosing","store","scenesByKey","activity","retainedBoundTagRef","shouldRetainClosingBoundTag","current","boundTag","hasConfiguredInterpolator","runtimeEnabled","shouldAttachAssociatedStyles","shouldEscapeBoundaryRootToScreenHost","associatedStyles","tag","associatedStackingStyles","rootRef","measurementRef","__DEV__","warnOnce","measuredRef","shouldRenderBoundaryRootThroughPortal","handoffEnabled","attachedStyle","undefined","value","ref","shouldRenderHandoffHost"],"sourceRoot":"../../../../../../src","sources":["shared/components/boundary/providers/boundary-root.provider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -32,15 +32,6 @@ export const adjustedMeasuredBoundsForOverscrollDeltas = (measured, scrollState)
|
|
|
32
32
|
pageY: measured.pageY + deltaY
|
|
33
33
|
};
|
|
34
34
|
};
|
|
35
|
-
export const normalizeMeasuredBoundsToOrigin = (measured, origin) => {
|
|
36
|
-
"worklet";
|
|
37
|
-
|
|
38
|
-
return {
|
|
39
|
-
...measured,
|
|
40
|
-
pageX: measured.pageX - origin.pageX,
|
|
41
|
-
pageY: measured.pageY - origin.pageY
|
|
42
|
-
};
|
|
43
|
-
};
|
|
44
35
|
export const isMeasurementInViewport = (measured, viewportWidth, viewportHeight) => {
|
|
45
36
|
"worklet";
|
|
46
37
|
|
|
@@ -53,9 +44,8 @@ export const isMeasurementInViewport = (measured, viewportWidth, viewportHeight)
|
|
|
53
44
|
const centerY = measured.pageY + measured.height / 2;
|
|
54
45
|
return centerX >= -toleranceX && centerX <= viewportWidth + toleranceX && centerY >= -toleranceY && centerY <= viewportHeight + toleranceY;
|
|
55
46
|
};
|
|
56
|
-
export const
|
|
47
|
+
export const correctMeasuredBoundsForVisibilityGate = ({
|
|
57
48
|
measured,
|
|
58
|
-
origin,
|
|
59
49
|
visibilityBlocked,
|
|
60
50
|
visibilityBlockOffset,
|
|
61
51
|
viewportWidth,
|
|
@@ -63,29 +53,28 @@ export const normalizeMeasuredBoundsWithVisibilityGate = ({
|
|
|
63
53
|
}) => {
|
|
64
54
|
"worklet";
|
|
65
55
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
return normalized;
|
|
56
|
+
if (!visibilityBlocked || visibilityBlockOffset <= 0 || isMeasurementInViewport(measured, viewportWidth, viewportHeight)) {
|
|
57
|
+
return measured;
|
|
69
58
|
}
|
|
70
59
|
|
|
71
|
-
//
|
|
72
|
-
// frame
|
|
73
|
-
//
|
|
74
|
-
const
|
|
75
|
-
...
|
|
76
|
-
pageY:
|
|
60
|
+
// A destination can still carry the internal visibility transform for one
|
|
61
|
+
// native frame. Correct only that known offset and preserve all other
|
|
62
|
+
// presentation transforms in the measured coordinates.
|
|
63
|
+
const visibilityOffsetApplied = {
|
|
64
|
+
...measured,
|
|
65
|
+
pageY: measured.pageY - visibilityBlockOffset
|
|
77
66
|
};
|
|
78
|
-
if (isMeasurementInViewport(
|
|
79
|
-
return
|
|
67
|
+
if (isMeasurementInViewport(visibilityOffsetApplied, viewportWidth, viewportHeight)) {
|
|
68
|
+
return visibilityOffsetApplied;
|
|
80
69
|
}
|
|
81
|
-
const
|
|
82
|
-
...
|
|
83
|
-
pageY:
|
|
70
|
+
const inverseVisibilityOffsetApplied = {
|
|
71
|
+
...measured,
|
|
72
|
+
pageY: measured.pageY + visibilityBlockOffset
|
|
84
73
|
};
|
|
85
|
-
if (isMeasurementInViewport(
|
|
86
|
-
return
|
|
74
|
+
if (isMeasurementInViewport(inverseVisibilityOffsetApplied, viewportWidth, viewportHeight)) {
|
|
75
|
+
return inverseVisibilityOffsetApplied;
|
|
87
76
|
}
|
|
88
|
-
return
|
|
77
|
+
return measured;
|
|
89
78
|
};
|
|
90
79
|
export const measureWithOverscrollAwareness = (ref, scrollState) => {
|
|
91
80
|
"worklet";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["measure","clampScrollAxisOffset","cloneScrollMetadataState","SCROLL_MEASUREMENT_EPSILON","getOverscrollDelta","axisState","clampedOffset","delta","offset","Math","abs","adjustedMeasuredBoundsForOverscrollDeltas","measured","scrollState","deltaX","horizontal","deltaY","vertical","x","y","pageX","pageY","
|
|
1
|
+
{"version":3,"names":["measure","clampScrollAxisOffset","cloneScrollMetadataState","SCROLL_MEASUREMENT_EPSILON","getOverscrollDelta","axisState","clampedOffset","delta","offset","Math","abs","adjustedMeasuredBoundsForOverscrollDeltas","measured","scrollState","deltaX","horizontal","deltaY","vertical","x","y","pageX","pageY","isMeasurementInViewport","viewportWidth","viewportHeight","width","height","toleranceX","toleranceY","centerX","centerY","correctMeasuredBoundsForVisibilityGate","visibilityBlocked","visibilityBlockOffset","visibilityOffsetApplied","inverseVisibilityOffsetApplied","measureWithOverscrollAwareness","ref","attachScrollSnapshotToMeasuredBounds","scroll"],"sourceRoot":"../../../../../../src","sources":["shared/components/boundary/utils/measured-bounds.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -26,37 +26,31 @@ export const getRefreshBoundarySignal = params => {
|
|
|
26
26
|
group,
|
|
27
27
|
shouldRefresh,
|
|
28
28
|
closing,
|
|
29
|
-
entering,
|
|
30
|
-
animating,
|
|
31
|
-
progress,
|
|
32
|
-
gestureInProgress,
|
|
33
29
|
linkState
|
|
34
30
|
} = params;
|
|
35
31
|
if (!enabled) return null;
|
|
36
|
-
|
|
37
|
-
// This is temporary for a patch fix. However, this architecture should
|
|
38
|
-
// change: our signals aren't currently doing their intended job, so right
|
|
39
|
-
// now we'll add one more guard until the shape is much more tested and
|
|
40
|
-
// bulletproof.
|
|
41
|
-
if (gestureInProgress) return null;
|
|
42
|
-
const canRefreshPreCloseDestination = shouldRefresh && closing && !entering && !animating && progress >= 1;
|
|
43
|
-
const canRefreshSettledDestination = shouldRefresh && !closing && !entering;
|
|
44
|
-
|
|
45
|
-
// Guards:
|
|
46
|
-
// 1) A user may dismiss via back button, in this case, we should remeasure.
|
|
47
|
-
// 2) If a user drags during entering/closing animations we should NOT remeasure.
|
|
48
|
-
if (!canRefreshPreCloseDestination && !canRefreshSettledDestination) {
|
|
32
|
+
if (!shouldRefresh) {
|
|
49
33
|
return null;
|
|
50
34
|
}
|
|
51
35
|
|
|
52
|
-
//
|
|
53
|
-
//
|
|
54
|
-
// single a->b flows. So we just trigger the destination refresh.
|
|
36
|
+
// A source may move while its destination is active, so refresh whichever
|
|
37
|
+
// side of the pair this boundary currently represents.
|
|
55
38
|
if (!group) {
|
|
39
|
+
if (sourcePairKey) {
|
|
40
|
+
const sourcePair = linkState?.[sourcePairKey];
|
|
41
|
+
const participates = !!sourcePair?.links?.[linkId] || !!sourcePair?.sourceRequests?.[linkId];
|
|
42
|
+
if (!participates) {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
return buildRefreshSignal("source", sourcePairKey, [currentScreenKey, closing ? "closing" : "settled"].join("|"));
|
|
46
|
+
}
|
|
56
47
|
const refreshDestinationPairKey = destinationPairKey ?? (nextScreenKey ? undefined : ancestorDestinationPairKey);
|
|
57
48
|
if (!refreshDestinationPairKey) {
|
|
58
49
|
return null;
|
|
59
50
|
}
|
|
51
|
+
if (!linkState?.[refreshDestinationPairKey]?.links?.[linkId]) {
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
60
54
|
return buildRefreshSignal("destination", refreshDestinationPairKey, [currentScreenKey, closing ? "closing" : "settled"].join("|"));
|
|
61
55
|
}
|
|
62
56
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SOURCE_SIGNAL_PREFIX","DESTINATION_SIGNAL_PREFIX","buildRefreshSignal","type","pairKey","key","prefix","signal","getRefreshBoundarySignal","params","enabled","currentScreenKey","sourcePairKey","destinationPairKey","ancestorDestinationPairKey","nextScreenKey","linkId","group","shouldRefresh","closing","
|
|
1
|
+
{"version":3,"names":["SOURCE_SIGNAL_PREFIX","DESTINATION_SIGNAL_PREFIX","buildRefreshSignal","type","pairKey","key","prefix","signal","getRefreshBoundarySignal","params","enabled","currentScreenKey","sourcePairKey","destinationPairKey","ancestorDestinationPairKey","nextScreenKey","linkId","group","shouldRefresh","closing","linkState","sourcePair","participates","links","sourceRequests","join","refreshDestinationPairKey","undefined","activeId","groups"],"sourceRoot":"../../../../../../src","sources":["shared/components/boundary/utils/refresh-signals.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,8 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import { forwardRef, memo } from "react";
|
|
6
6
|
import { GestureDetector } from "react-native-gesture-handler";
|
|
7
|
-
import Animated, {
|
|
8
|
-
import { RegisterBoundsProvider } from "../providers/register-bounds.provider";
|
|
7
|
+
import Animated, { useComposedEventHandler } from "react-native-reanimated";
|
|
9
8
|
import { ScrollMetadataOwnerProvider, useScrollGestureCoordination } from "../providers/screen/gestures/scroll-coordination";
|
|
10
9
|
import { useSlotProps, useSlotStyles } from "../providers/screen/styles";
|
|
11
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -17,7 +16,6 @@ export function createTransitionAwareComponent(Wrapped, options = {}) {
|
|
|
17
16
|
const AnimatedComponent = alreadyAnimated ? Wrapped : Animated.createAnimatedComponent(Wrapped);
|
|
18
17
|
const ScrollableInner = /*#__PURE__*/forwardRef((props, ref) => {
|
|
19
18
|
const {
|
|
20
|
-
remeasureOnFocus: _remeasureOnFocus,
|
|
21
19
|
onScroll: userOnScroll,
|
|
22
20
|
onMomentumScrollEnd: userOnMomentumScrollEnd,
|
|
23
21
|
onScrollEndDrag: userOnScrollEndDrag,
|
|
@@ -70,40 +68,22 @@ export function createTransitionAwareComponent(Wrapped, options = {}) {
|
|
|
70
68
|
children: coordinatedScrollableComponent
|
|
71
69
|
});
|
|
72
70
|
});
|
|
73
|
-
const Inner = /*#__PURE__*/forwardRef((props,
|
|
71
|
+
const Inner = /*#__PURE__*/forwardRef((props, ref) => {
|
|
74
72
|
const {
|
|
75
73
|
children,
|
|
76
74
|
style,
|
|
77
|
-
sharedBoundTag,
|
|
78
75
|
styleId,
|
|
79
|
-
onPress,
|
|
80
|
-
remeasureOnFocus,
|
|
81
76
|
animatedProps: userAnimatedProps,
|
|
82
77
|
...rest
|
|
83
78
|
} = props;
|
|
84
|
-
const
|
|
85
|
-
const
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
sharedBoundTag: sharedBoundTag,
|
|
93
|
-
remeasureOnFocus: remeasureOnFocus,
|
|
94
|
-
children: ({
|
|
95
|
-
captureActiveOnPress,
|
|
96
|
-
handleInitialLayout
|
|
97
|
-
}) => /*#__PURE__*/_jsx(AnimatedComponent, {
|
|
98
|
-
...rest,
|
|
99
|
-
ref: animatedRef,
|
|
100
|
-
style: [style, associatedStyles],
|
|
101
|
-
animatedProps: userAnimatedProps ?? associatedProps,
|
|
102
|
-
onPress: captureActiveOnPress,
|
|
103
|
-
onLayout: runOnUI(handleInitialLayout),
|
|
104
|
-
collapsable: !sharedBoundTag,
|
|
105
|
-
children: children
|
|
106
|
-
})
|
|
79
|
+
const associatedStyles = useSlotStyles(styleId);
|
|
80
|
+
const associatedProps = useSlotProps(styleId);
|
|
81
|
+
return /*#__PURE__*/_jsx(AnimatedComponent, {
|
|
82
|
+
...rest,
|
|
83
|
+
ref: ref,
|
|
84
|
+
style: [style, associatedStyles],
|
|
85
|
+
animatedProps: userAnimatedProps ?? associatedProps,
|
|
86
|
+
children: children
|
|
107
87
|
});
|
|
108
88
|
});
|
|
109
89
|
if (isScrollable) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","memo","GestureDetector","Animated","
|
|
1
|
+
{"version":3,"names":["forwardRef","memo","GestureDetector","Animated","useComposedEventHandler","ScrollMetadataOwnerProvider","useScrollGestureCoordination","useSlotProps","useSlotStyles","jsx","_jsx","createTransitionAwareComponent","Wrapped","options","isScrollable","alreadyAnimated","AnimatedComponent","createAnimatedComponent","ScrollableInner","props","ref","onScroll","userOnScroll","onMomentumScrollEnd","userOnMomentumScrollEnd","onScrollEndDrag","userOnScrollEndDrag","children","contentContainerStyle","scrollableProps","scrollDirection","horizontal","scrollHandler","scrollEventsEnabled","onContentSizeChange","onLayout","nativeGesture","metadataOwnerProviderValue","direction","composedScrollHandler","scrollableComponent","undefined","scrollEventThrottle","coordinatedScrollableComponent","gesture","value","Inner","style","styleId","animatedProps","userAnimatedProps","rest","associatedStyles","associatedProps"],"sourceRoot":"../../../../src","sources":["shared/components/create-transition-aware-component.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
import { useState } from "react";
|
|
4
4
|
import { runOnJS, useAnimatedReaction } from "react-native-reanimated";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
5
|
+
import { useDescriptorsStore } from "../../../providers/screen/descriptors";
|
|
6
|
+
import { useScreenOptionsStore } from "../../../providers/screen/options";
|
|
7
|
+
import { useStackCoreStore } from "../../../providers/stack/core.provider";
|
|
8
8
|
import { StackType } from "../../../types/stack.types";
|
|
9
9
|
/**
|
|
10
10
|
* Returns pointer events and backdrop behavior based on screen options.
|
|
@@ -15,13 +15,9 @@ import { StackType } from "../../../types/stack.types";
|
|
|
15
15
|
* - Other stacks default to 'block' (undefined = normal touch handling)
|
|
16
16
|
*/
|
|
17
17
|
export function useBackdropPointerEvents() {
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const screenOptions = useScreenOptionsContext();
|
|
22
|
-
const {
|
|
23
|
-
flags
|
|
24
|
-
} = useStackCoreContext();
|
|
18
|
+
const screenOptions = useScreenOptionsStore();
|
|
19
|
+
const descriptorBackdropBehavior = useDescriptorsStore(store => store.options.backdropBehavior);
|
|
20
|
+
const stackType = useStackCoreStore(store => store.flags.STACK_TYPE);
|
|
25
21
|
const [runtimeBackdropBehavior, setRuntimeBackdropBehavior] = useState(undefined);
|
|
26
22
|
useAnimatedReaction(() => screenOptions.get().backdropBehavior, (next, previous) => {
|
|
27
23
|
"worklet";
|
|
@@ -30,8 +26,8 @@ export function useBackdropPointerEvents() {
|
|
|
30
26
|
runOnJS(setRuntimeBackdropBehavior)(next);
|
|
31
27
|
}
|
|
32
28
|
}, [screenOptions]);
|
|
33
|
-
const isComponentStack =
|
|
34
|
-
const backdropBehavior = runtimeBackdropBehavior ??
|
|
29
|
+
const isComponentStack = stackType === StackType.COMPONENT;
|
|
30
|
+
const backdropBehavior = runtimeBackdropBehavior ?? descriptorBackdropBehavior ?? (isComponentStack ? "passthrough" : "block");
|
|
35
31
|
const pointerEvents = backdropBehavior === "passthrough" ? "box-none" : undefined;
|
|
36
32
|
const isBackdropActive = backdropBehavior === "dismiss" || backdropBehavior === "collapse";
|
|
37
33
|
return {
|