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 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useLayoutEffect","cancelAnimation","runOnUI","useAnimatedReaction","useSharedValue","withDelay","withTiming","useDescriptorsStore","AnimationStore","getSourceScreenKeyFromPairKey","getEntry","getLink","pairs","SystemStore","logger","getInitialDestinationMeasurementSignal","HANDSHAKE_RETRY_DELAY_MS","MAX_HANDSHAKE_RETRIES","useInitialDestinationMeasurement","boundTag","enabled","escapeClipping","measureBoundary","tag","linkKey","group","currentScreenKey","s","derivations","nextScreenKey","destinationPairKey","ancestorDestinationPairKey","destinationEnabled","initialDestinationPairKey","progress","getValue","actions","blockLifecycleStart","unblockLifecycleStart","getBag","isBlockingLifecycleStart","retryToken","handshakeRetries","hasGivenUp","releaseLifecycleStartBlock","get","set","claimLifecycleStartBlock","retryTick","
|
|
1
|
+
{"version":3,"names":["useCallback","useLayoutEffect","cancelAnimation","runOnUI","useAnimatedReaction","useSharedValue","withDelay","withTiming","useDescriptorsStore","AnimationStore","getSourceScreenKeyFromPairKey","getEntry","getLink","pairs","SystemStore","logger","getInitialDestinationMeasurementSignal","HANDSHAKE_RETRY_DELAY_MS","MAX_HANDSHAKE_RETRIES","useInitialDestinationMeasurement","boundTag","enabled","escapeClipping","measureBoundary","tag","linkKey","group","currentScreenKey","s","derivations","nextScreenKey","destinationPairKey","ancestorDestinationPairKey","destinationEnabled","initialDestinationPairKey","progress","getValue","actions","blockLifecycleStart","unblockLifecycleStart","getBag","isBlockingLifecycleStart","retryToken","handshakeRetries","hasGivenUp","releaseLifecycleStartBlock","get","set","claimLifecycleStartBlock","retryTick","sourceScreenKey","signal","linkId","destinationPresent","sourcePresent","linkState","pairKey","action","next","previous","measurePairKey","previousMeasurePairKey","previousAction","previousRetryTick","shouldHandleSignal","type","link","linkComplete","source","destination","warn","duration"],"sourceRoot":"../../../../../../../src","sources":["shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,7 +4,6 @@ import { useAnimatedReaction } from "react-native-reanimated";
|
|
|
4
4
|
import { useDescriptorsStore } from "../../../../providers/screen/descriptors";
|
|
5
5
|
import { AnimationStore } from "../../../../stores/animation.store";
|
|
6
6
|
import { pairs } from "../../../../stores/bounds/internals/state";
|
|
7
|
-
import { GestureStore } from "../../../../stores/gesture.store";
|
|
8
7
|
import { getRefreshBoundarySignal } from "../../utils/refresh-signals";
|
|
9
8
|
export const useRefreshBoundary = ({
|
|
10
9
|
enabled,
|
|
@@ -25,15 +24,13 @@ export const useRefreshBoundary = ({
|
|
|
25
24
|
const refreshScreenKey = nextScreenKey ?? currentScreenKey;
|
|
26
25
|
const refreshWillAnimate = AnimationStore.getValue(refreshScreenKey, "willAnimate");
|
|
27
26
|
const refreshClosing = AnimationStore.getValue(refreshScreenKey, "closing");
|
|
28
|
-
const refreshEntering = AnimationStore.getValue(refreshScreenKey, "entering");
|
|
29
|
-
const refreshAnimating = AnimationStore.getValue(refreshScreenKey, "progressAnimating");
|
|
30
|
-
const refreshProgress = AnimationStore.getValue(refreshScreenKey, "transitionProgress");
|
|
31
|
-
const refreshDragging = GestureStore.getValue(refreshScreenKey, "dragging");
|
|
32
|
-
const refreshDismissing = GestureStore.getValue(refreshScreenKey, "dismissing");
|
|
33
|
-
const refreshSettling = GestureStore.getValue(refreshScreenKey, "settling");
|
|
34
27
|
useAnimatedReaction(() => {
|
|
35
28
|
"worklet";
|
|
36
29
|
|
|
30
|
+
const shouldRefresh = enabled && !!refreshWillAnimate.get();
|
|
31
|
+
if (!shouldRefresh) {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
37
34
|
return getRefreshBoundarySignal({
|
|
38
35
|
enabled,
|
|
39
36
|
currentScreenKey,
|
|
@@ -43,12 +40,8 @@ export const useRefreshBoundary = ({
|
|
|
43
40
|
nextScreenKey,
|
|
44
41
|
linkId: linkKey,
|
|
45
42
|
group,
|
|
46
|
-
shouldRefresh
|
|
43
|
+
shouldRefresh,
|
|
47
44
|
closing: !!refreshClosing.get(),
|
|
48
|
-
entering: !!refreshEntering.get(),
|
|
49
|
-
animating: !!refreshAnimating.get(),
|
|
50
|
-
progress: refreshProgress.get(),
|
|
51
|
-
gestureInProgress: !!refreshDragging.get() || !!refreshDismissing.get() || !!refreshSettling.get(),
|
|
52
45
|
linkState: pairs.get()
|
|
53
46
|
});
|
|
54
47
|
}, (refreshSignal, prevRefreshSignal) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useAnimatedReaction","useDescriptorsStore","AnimationStore","pairs","
|
|
1
|
+
{"version":3,"names":["useAnimatedReaction","useDescriptorsStore","AnimationStore","pairs","getRefreshBoundarySignal","useRefreshBoundary","enabled","boundTag","measureBoundary","linkKey","group","currentScreenKey","s","derivations","nextScreenKey","sourcePairKey","destinationPairKey","ancestorDestinationPairKey","refreshScreenKey","refreshWillAnimate","getValue","refreshClosing","shouldRefresh","get","linkId","closing","linkState","refreshSignal","prevRefreshSignal","signal","type","pairKey"],"sourceRoot":"../../../../../../../src","sources":["shared/components/boundary/hooks/lifecycles/use-refresh-boundary.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,yBAAyB;AAC7D,SAASC,mBAAmB,QAAQ,0CAA0C;AAC9E,SAASC,cAAc,QAAQ,oCAAoC;AACnE,SAASC,KAAK,QAAQ,2CAA2C;AAGjE,SAASC,wBAAwB,QAAQ,6BAA6B;AAQtE,OAAO,MAAMC,kBAAkB,GAAGA,CAAC;EAClCC,OAAO;EACPC,QAAQ;EACRC;AACyB,CAAC,KAAK;EAC/B,MAAM;IAAEC,OAAO;IAAEC;EAAM,CAAC,GAAGH,QAAQ;EACnC,MAAMI,gBAAgB,GAAGV,mBAAmB,CAC1CW,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACF,gBACtB,CAAC;EACD,MAAMG,aAAa,GAAGb,mBAAmB,CAAEW,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACC,aAAa,CAAC;EAC7E,MAAMC,aAAa,GAAGd,mBAAmB,CAAEW,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACE,aAAa,CAAC;EAC7E,MAAMC,kBAAkB,GAAGf,mBAAmB,CAC5CW,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACG,kBACtB,CAAC;EACD,MAAMC,0BAA0B,GAAGhB,mBAAmB,CACpDW,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACI,0BACtB,CAAC;EACD;EACA;EACA,MAAMC,gBAAgB,GAAGJ,aAAa,IAAIH,gBAAgB;EAC1D,MAAMQ,kBAAkB,GAAGjB,cAAc,CAACkB,QAAQ,CACjDF,gBAAgB,EAChB,aACD,CAAC;EACD,MAAMG,cAAc,GAAGnB,cAAc,CAACkB,QAAQ,CAACF,gBAAgB,EAAE,SAAS,CAAC;EAE3ElB,mBAAmB,CAClB,MAAM;IACL,SAAS;;IAET,MAAMsB,aAAa,GAAGhB,OAAO,IAAI,CAAC,CAACa,kBAAkB,CAACI,GAAG,CAAC,CAAC;IAC3D,IAAI,CAACD,aAAa,EAAE;MACnB,OAAO,IAAI;IACZ;IAEA,OAAOlB,wBAAwB,CAAC;MAC/BE,OAAO;MACPK,gBAAgB;MAChBI,aAAa;MACbC,kBAAkB;MAClBC,0BAA0B;MAC1BH,aAAa;MACbU,MAAM,EAAEf,OAAO;MACfC,KAAK;MACLY,aAAa;MACbG,OAAO,EAAE,CAAC,CAACJ,cAAc,CAACE,GAAG,CAAC,CAAC;MAC/BG,SAAS,EAAEvB,KAAK,CAACoB,GAAG,CAAC;IACtB,CAAC,CAAC;EACH,CAAC,EACD,CAACI,aAAa,EAAEC,iBAAiB,KAAK;IACrC,SAAS;;IAET,IACC,CAACD,aAAa,IACdA,aAAa,CAACE,MAAM,KAAKD,iBAAiB,EAAEC,MAAM,EACjD;MACD;IACD;IAEArB,eAAe,CAAC;MACfsB,IAAI,EAAEH,aAAa,CAACG,IAAI;MACxBC,OAAO,EAAEJ,aAAa,CAACI;IACxB,CAAC,CAAC;EACH,CACD,CAAC;AACF,CAAC","ignoreList":[]}
|
|
@@ -2,14 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
import { useCallback } from "react";
|
|
4
4
|
import { useWindowDimensions } from "react-native";
|
|
5
|
-
import { measure } from "react-native-reanimated";
|
|
6
5
|
import { applyMeasuredBoundsWrites } from "../../../providers/helpers/measured-bounds-writes";
|
|
7
|
-
import { useOriginContext } from "../../../providers/screen/origin.provider";
|
|
8
6
|
import { useScreenSlots } from "../../../providers/screen/styles";
|
|
9
7
|
import { ScrollStore } from "../../../stores/scroll.store";
|
|
10
8
|
import { SystemStore } from "../../../stores/system.store";
|
|
11
9
|
import { getVisibilityBlockOffset } from "../../../utils/visibility-block-offset";
|
|
12
|
-
import { attachScrollSnapshotToMeasuredBounds, isMeasurementInViewport, measureWithOverscrollAwareness
|
|
10
|
+
import { attachScrollSnapshotToMeasuredBounds, correctMeasuredBoundsForVisibilityGate, isMeasurementInViewport, measureWithOverscrollAwareness } from "../utils/measured-bounds";
|
|
13
11
|
export const useMeasurer = ({
|
|
14
12
|
enabled,
|
|
15
13
|
boundTag,
|
|
@@ -26,9 +24,6 @@ export const useMeasurer = ({
|
|
|
26
24
|
const scrollState = ScrollStore.getValue(currentScreenKey, "coordination");
|
|
27
25
|
const scrollMetadata = ScrollStore.getValue(currentScreenKey, "metadata");
|
|
28
26
|
const pendingLifecycleStartBlockCount = SystemStore.getValue(currentScreenKey, "pendingLifecycleStartBlockCount");
|
|
29
|
-
const {
|
|
30
|
-
originRef
|
|
31
|
-
} = useOriginContext();
|
|
32
27
|
const {
|
|
33
28
|
visibilityBlocked
|
|
34
29
|
} = useScreenSlots();
|
|
@@ -37,12 +32,10 @@ export const useMeasurer = ({
|
|
|
37
32
|
|
|
38
33
|
if (!enabled) return;
|
|
39
34
|
const measured = measureWithOverscrollAwareness(measuredAnimatedRef, scrollState.get());
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
const normalizedMeasured = normalizeMeasuredBoundsWithVisibilityGate({
|
|
35
|
+
if (!measured) return;
|
|
36
|
+
const correctedMeasured = correctMeasuredBoundsForVisibilityGate({
|
|
43
37
|
measured,
|
|
44
|
-
|
|
45
|
-
visibilityBlocked: escapeClipping && visibilityBlocked.get(),
|
|
38
|
+
visibilityBlocked: visibilityBlocked.get(),
|
|
46
39
|
visibilityBlockOffset: getVisibilityBlockOffset(viewportHeight),
|
|
47
40
|
viewportWidth,
|
|
48
41
|
viewportHeight
|
|
@@ -56,9 +49,9 @@ export const useMeasurer = ({
|
|
|
56
49
|
* lifecycle blocked until a valid retry lands.
|
|
57
50
|
*/
|
|
58
51
|
const shouldGuardDestinationViewport = pendingLifecycleStartBlockCount.get() > 0 || !!boundTag.group;
|
|
59
|
-
const viewportAllowsDestinationWrite = target.type !== "destination" || !shouldGuardDestinationViewport || isMeasurementInViewport(
|
|
52
|
+
const viewportAllowsDestinationWrite = target.type !== "destination" || !shouldGuardDestinationViewport || isMeasurementInViewport(correctedMeasured, viewportWidth, viewportHeight);
|
|
60
53
|
if (!viewportAllowsDestinationWrite) return;
|
|
61
|
-
const measuredWithScroll = attachScrollSnapshotToMeasuredBounds(
|
|
54
|
+
const measuredWithScroll = attachScrollSnapshotToMeasuredBounds(correctedMeasured, scrollMetadata.get());
|
|
62
55
|
applyMeasuredBoundsWrites({
|
|
63
56
|
entryTag: boundTag.tag,
|
|
64
57
|
linkId: boundTag.linkKey,
|
|
@@ -70,6 +63,6 @@ export const useMeasurer = ({
|
|
|
70
63
|
handoff,
|
|
71
64
|
escapeClipping
|
|
72
65
|
});
|
|
73
|
-
}, [enabled, boundTag, currentScreenKey, preparedStyles, measuredAnimatedRef, handoff, escapeClipping, viewportWidth, viewportHeight, scrollState, scrollMetadata, pendingLifecycleStartBlockCount,
|
|
66
|
+
}, [enabled, boundTag, currentScreenKey, preparedStyles, measuredAnimatedRef, handoff, escapeClipping, viewportWidth, viewportHeight, scrollState, scrollMetadata, pendingLifecycleStartBlockCount, visibilityBlocked]);
|
|
74
67
|
};
|
|
75
68
|
//# sourceMappingURL=use-measurer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useWindowDimensions","
|
|
1
|
+
{"version":3,"names":["useCallback","useWindowDimensions","applyMeasuredBoundsWrites","useScreenSlots","ScrollStore","SystemStore","getVisibilityBlockOffset","attachScrollSnapshotToMeasuredBounds","correctMeasuredBoundsForVisibilityGate","isMeasurementInViewport","measureWithOverscrollAwareness","useMeasurer","enabled","boundTag","currentScreenKey","preparedStyles","measuredAnimatedRef","handoff","escapeClipping","width","viewportWidth","height","viewportHeight","scrollState","getValue","scrollMetadata","pendingLifecycleStartBlockCount","visibilityBlocked","target","measured","get","correctedMeasured","visibilityBlockOffset","shouldGuardDestinationViewport","group","viewportAllowsDestinationWrite","type","measuredWithScroll","entryTag","tag","linkId","linkKey","linkWrite"],"sourceRoot":"../../../../../../src","sources":["shared/components/boundary/hooks/use-measurer.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,OAAO;AAEnC,SAASC,mBAAmB,QAAQ,cAAc;AAElD,SAASC,yBAAyB,QAAQ,mDAAmD;AAC7F,SAASC,cAAc,QAAQ,kCAAkC;AAEjE,SAASC,WAAW,QAAQ,8BAA8B;AAC1D,SAASC,WAAW,QAAQ,8BAA8B;AAC1D,SAASC,wBAAwB,QAAQ,wCAAwC;AAEjF,SACCC,oCAAoC,EACpCC,sCAAsC,EACtCC,uBAAuB,EACvBC,8BAA8B,QACxB,0BAA0B;AAYjC,OAAO,MAAMC,WAAW,GAAGA,CAAC;EAC3BC,OAAO;EACPC,QAAQ;EACRC,gBAAgB;EAChBC,cAAc;EACdC,mBAAmB;EACnBC,OAAO;EACPC;AACkB,CAAC,KAAsB;EACzC,MAAM;IAAEC,KAAK,EAAEC,aAAa;IAAEC,MAAM,EAAEC;EAAe,CAAC,GACrDrB,mBAAmB,CAAC,CAAC;EAEtB,MAAMsB,WAAW,GAAGnB,WAAW,CAACoB,QAAQ,CAACV,gBAAgB,EAAE,cAAc,CAAC;EAC1E,MAAMW,cAAc,GAAGrB,WAAW,CAACoB,QAAQ,CAACV,gBAAgB,EAAE,UAAU,CAAC;EACzE,MAAMY,+BAA+B,GAAGrB,WAAW,CAACmB,QAAQ,CAC3DV,gBAAgB,EAChB,iCACD,CAAC;EACD,MAAM;IAAEa;EAAkB,CAAC,GAAGxB,cAAc,CAAC,CAAC;EAE9C,OAAOH,WAAW,CAChB4B,MAAM,IAAK;IACX,SAAS;;IACT,IAAI,CAAChB,OAAO,EAAE;IAEd,MAAMiB,QAAQ,GAAGnB,8BAA8B,CAC9CM,mBAAmB,EACnBO,WAAW,CAACO,GAAG,CAAC,CACjB,CAAC;IAED,IAAI,CAACD,QAAQ,EAAE;IAEf,MAAME,iBAAiB,GAAGvB,sCAAsC,CAAC;MAChEqB,QAAQ;MACRF,iBAAiB,EAAEA,iBAAiB,CAACG,GAAG,CAAC,CAAC;MAC1CE,qBAAqB,EAAE1B,wBAAwB,CAACgB,cAAc,CAAC;MAC/DF,aAAa;MACbE;IACD,CAAC,CAAC;;IAEF;AACH;AACA;AACA;AACA;AACA;AACA;IACG,MAAMW,8BAA8B,GACnCP,+BAA+B,CAACI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAACjB,QAAQ,CAACqB,KAAK;IAE9D,MAAMC,8BAA8B,GACnCP,MAAM,CAACQ,IAAI,KAAK,aAAa,IAC7B,CAACH,8BAA8B,IAC/BxB,uBAAuB,CACtBsB,iBAAiB,EACjBX,aAAa,EACbE,cACD,CAAC;IAEF,IAAI,CAACa,8BAA8B,EAAE;IAErC,MAAME,kBAAkB,GAAG9B,oCAAoC,CAC9DwB,iBAAiB,EACjBN,cAAc,CAACK,GAAG,CAAC,CACpB,CAAC;IAED5B,yBAAyB,CAAC;MACzBoC,QAAQ,EAAEzB,QAAQ,CAAC0B,GAAG;MACtBC,MAAM,EAAE3B,QAAQ,CAAC4B,OAAO;MACxBP,KAAK,EAAErB,QAAQ,CAACqB,KAAK;MACrBpB,gBAAgB;MAChBe,QAAQ,EAAEQ,kBAAkB;MAC5BtB,cAAc;MACd2B,SAAS,EAAEd,MAAM;MACjBX,OAAO;MACPC;IACD,CAAC,CAAC;EACH,CAAC,EACD,CACCN,OAAO,EACPC,QAAQ,EACRC,gBAAgB,EAChBC,cAAc,EACdC,mBAAmB,EACnBC,OAAO,EACPC,cAAc,EACdE,aAAa,EACbE,cAAc,EACdC,WAAW,EACXE,cAAc,EACdC,+BAA+B,EAC/BC,iBAAiB,CAEnB,CAAC;AACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export const resolveActiveHandoffReceiver = ({
|
|
4
|
+
focusedIndex,
|
|
5
|
+
routes,
|
|
6
|
+
scenes
|
|
7
|
+
}) => {
|
|
8
|
+
for (let index = scenes.length - 1; index >= 0; index--) {
|
|
9
|
+
const scene = scenes[index];
|
|
10
|
+
if (scene?.activity === "closing") {
|
|
11
|
+
return scene.route.key;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return routes[focusedIndex]?.key ?? null;
|
|
15
|
+
};
|
|
16
|
+
export const resolvePreviousHandoffReceiver = ({
|
|
17
|
+
focusedIndex,
|
|
18
|
+
routes,
|
|
19
|
+
scenes
|
|
20
|
+
}) => {
|
|
21
|
+
for (let index = scenes.length - 1; index >= 0; index--) {
|
|
22
|
+
if (scenes[index]?.activity !== "closing") {
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
for (let previousIndex = index - 1; previousIndex >= 0; previousIndex--) {
|
|
26
|
+
const previousScene = scenes[previousIndex];
|
|
27
|
+
if (previousScene?.activity !== "closing") {
|
|
28
|
+
return previousScene?.route.key ?? null;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return routes[focusedIndex]?.key ?? null;
|
|
33
|
+
};
|
|
34
|
+
export const resolveHandoffAttachmentCandidate = ({
|
|
35
|
+
activeReceiverClosing,
|
|
36
|
+
activeReceiverScreenKey,
|
|
37
|
+
attachedReceiverScreenKey,
|
|
38
|
+
hasActiveCloseFinished,
|
|
39
|
+
interpolatorReady,
|
|
40
|
+
pairChangedDuringClose = false,
|
|
41
|
+
pairDestinationScreenKey,
|
|
42
|
+
previousReceiverScreenKey
|
|
43
|
+
}) => {
|
|
44
|
+
"worklet";
|
|
45
|
+
|
|
46
|
+
if (activeReceiverClosing && interpolatorReady && pairDestinationScreenKey && pairChangedDuringClose) {
|
|
47
|
+
return pairDestinationScreenKey;
|
|
48
|
+
}
|
|
49
|
+
if (hasActiveCloseFinished && attachedReceiverScreenKey === activeReceiverScreenKey) {
|
|
50
|
+
return previousReceiverScreenKey;
|
|
51
|
+
}
|
|
52
|
+
if (hasActiveCloseFinished) {
|
|
53
|
+
return attachedReceiverScreenKey;
|
|
54
|
+
}
|
|
55
|
+
if (activeReceiverClosing && attachedReceiverScreenKey !== activeReceiverScreenKey && interpolatorReady && pairDestinationScreenKey) {
|
|
56
|
+
return pairDestinationScreenKey;
|
|
57
|
+
}
|
|
58
|
+
return activeReceiverScreenKey;
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=active-handoff-receiver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["resolveActiveHandoffReceiver","focusedIndex","routes","scenes","index","length","scene","activity","route","key","resolvePreviousHandoffReceiver","previousIndex","previousScene","resolveHandoffAttachmentCandidate","activeReceiverClosing","activeReceiverScreenKey","attachedReceiverScreenKey","hasActiveCloseFinished","interpolatorReady","pairChangedDuringClose","pairDestinationScreenKey","previousReceiverScreenKey"],"sourceRoot":"../../../../../../../../../src","sources":["shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.ts"],"mappings":";;AAeA,OAAO,MAAMA,4BAA4B,GAAGA,CAAC;EAC5CC,YAAY;EACZC,MAAM;EACNC;AACmC,CAAC,KAAoB;EACxD,KAAK,IAAIC,KAAK,GAAGD,MAAM,CAACE,MAAM,GAAG,CAAC,EAAED,KAAK,IAAI,CAAC,EAAEA,KAAK,EAAE,EAAE;IACxD,MAAME,KAAK,GAAGH,MAAM,CAACC,KAAK,CAAC;IAC3B,IAAIE,KAAK,EAAEC,QAAQ,KAAK,SAAS,EAAE;MAClC,OAAOD,KAAK,CAACE,KAAK,CAACC,GAAG;IACvB;EACD;EAEA,OAAOP,MAAM,CAACD,YAAY,CAAC,EAAEQ,GAAG,IAAI,IAAI;AACzC,CAAC;AAED,OAAO,MAAMC,8BAA8B,GAAGA,CAAC;EAC9CT,YAAY;EACZC,MAAM;EACNC;AACmC,CAAC,KAAoB;EACxD,KAAK,IAAIC,KAAK,GAAGD,MAAM,CAACE,MAAM,GAAG,CAAC,EAAED,KAAK,IAAI,CAAC,EAAEA,KAAK,EAAE,EAAE;IACxD,IAAID,MAAM,CAACC,KAAK,CAAC,EAAEG,QAAQ,KAAK,SAAS,EAAE;MAC1C;IACD;IAEA,KAAK,IAAII,aAAa,GAAGP,KAAK,GAAG,CAAC,EAAEO,aAAa,IAAI,CAAC,EAAEA,aAAa,EAAE,EAAE;MACxE,MAAMC,aAAa,GAAGT,MAAM,CAACQ,aAAa,CAAC;MAC3C,IAAIC,aAAa,EAAEL,QAAQ,KAAK,SAAS,EAAE;QAC1C,OAAOK,aAAa,EAAEJ,KAAK,CAACC,GAAG,IAAI,IAAI;MACxC;IACD;EACD;EAEA,OAAOP,MAAM,CAACD,YAAY,CAAC,EAAEQ,GAAG,IAAI,IAAI;AACzC,CAAC;AAED,OAAO,MAAMI,iCAAiC,GAAGA,CAAC;EACjDC,qBAAqB;EACrBC,uBAAuB;EACvBC,yBAAyB;EACzBC,sBAAsB;EACtBC,iBAAiB;EACjBC,sBAAsB,GAAG,KAAK;EAC9BC,wBAAwB;EACxBC;AAUD,CAAC,KAAK;EACL,SAAS;;EAET,IACCP,qBAAqB,IACrBI,iBAAiB,IACjBE,wBAAwB,IACxBD,sBAAsB,EACrB;IACD,OAAOC,wBAAwB;EAChC;EAEA,IACCH,sBAAsB,IACtBD,yBAAyB,KAAKD,uBAAuB,EACpD;IACD,OAAOM,yBAAyB;EACjC;EAEA,IAAIJ,sBAAsB,EAAE;IAC3B,OAAOD,yBAAyB;EACjC;EAEA,IACCF,qBAAqB,IACrBE,yBAAyB,KAAKD,uBAAuB,IACrDG,iBAAiB,IACjBE,wBAAwB,EACvB;IACD,OAAOA,wBAAwB;EAChC;EAEA,OAAOL,uBAAuB;AAC/B,CAAC","ignoreList":[]}
|
|
@@ -1,33 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { useAnimatedProps, useSharedValue } from "react-native-reanimated";
|
|
4
|
+
import { useStack } from "../../../../../../hooks/navigation/use-stack";
|
|
4
5
|
import { useDescriptorsStore } from "../../../../../../providers/screen/descriptors";
|
|
5
6
|
import { useScreenSlots } from "../../../../../../providers/screen/styles";
|
|
6
7
|
import { hasCloseTransitionFinished } from "../../../../../../providers/screen/styles/helpers/transition-visual-state";
|
|
7
8
|
import { AnimationStore } from "../../../../../../stores/animation.store";
|
|
9
|
+
import { getLinkKeyFromTag } from "../../../../../../stores/bounds/helpers/link-pairs.helpers";
|
|
10
|
+
import { getEntry } from "../../../../../../stores/bounds/internals/entries";
|
|
8
11
|
import { pairs } from "../../../../../../stores/bounds/internals/state";
|
|
9
12
|
import { SystemStore } from "../../../../../../stores/system.store";
|
|
10
|
-
import { resolveEnteringHandoffTarget } from "../../../utils/handoff-target";
|
|
11
13
|
import { PORTAL_HOST_NAME_RESET_VALUE } from "../../../utils/naming";
|
|
12
14
|
import { isTeleportEnabled } from "../../../utils/teleport-control";
|
|
15
|
+
import { resolveActiveHandoffReceiver, resolveHandoffAttachmentCandidate, resolvePreviousHandoffReceiver } from "../helpers/active-handoff-receiver";
|
|
13
16
|
import { createBoundaryContentPortalHostName } from "../helpers/host-name";
|
|
14
17
|
export const useBoundaryContentPortalAttachment = ({
|
|
15
18
|
boundaryId
|
|
16
19
|
}) => {
|
|
17
20
|
const {
|
|
21
|
+
nextInterpolatorReady,
|
|
18
22
|
slotsMap
|
|
19
23
|
} = useScreenSlots();
|
|
20
|
-
const sourcePairKey = useDescriptorsStore(s => s.derivations.sourcePairKey);
|
|
21
24
|
const currentScreenKey = useDescriptorsStore(s => s.derivations.currentScreenKey);
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
// payload follows the screen that actually hosts it, not the newest route.
|
|
30
|
-
const attachedDestination = useSharedValue(null);
|
|
25
|
+
const sourcePairKey = useDescriptorsStore(s => s.derivations.sourcePairKey);
|
|
26
|
+
const activeReceiverScreenKey = useStack(resolveActiveHandoffReceiver);
|
|
27
|
+
const previousReceiverScreenKey = useStack(resolvePreviousHandoffReceiver);
|
|
28
|
+
const activeReceiverAnimationProgress = SystemStore.getValue(activeReceiverScreenKey ?? currentScreenKey, "animationProgress");
|
|
29
|
+
const activeReceiverClosing = AnimationStore.getValue(activeReceiverScreenKey ?? currentScreenKey, "closing");
|
|
30
|
+
const attachedReceiverScreenKey = useSharedValue(currentScreenKey);
|
|
31
|
+
const sourcePairBeforeClose = useSharedValue(null);
|
|
31
32
|
const teleportProps = useAnimatedProps(() => {
|
|
32
33
|
"worklet";
|
|
33
34
|
|
|
@@ -37,35 +38,41 @@ export const useBoundaryContentPortalAttachment = ({
|
|
|
37
38
|
teleport,
|
|
38
39
|
...slotProps
|
|
39
40
|
} = slot?.props ?? {};
|
|
40
|
-
const animationProgress = destinationAnimationProgress.get();
|
|
41
41
|
const shouldTeleport = isTeleportEnabled(teleport);
|
|
42
|
-
const
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
currentScreenKey,
|
|
47
|
-
pairsState,
|
|
48
|
-
sourcePairKey
|
|
49
|
-
}) : null;
|
|
50
|
-
if (enteringTargetScreenKey) {
|
|
51
|
-
// A valid entering pair is the only event that replaces the current
|
|
52
|
-
// attachment and its lifecycle owner.
|
|
53
|
-
attachedDestination.set({
|
|
54
|
-
animationProgress: destinationAnimationProgress,
|
|
55
|
-
closing: destinationClosing,
|
|
56
|
-
screenKey: enteringTargetScreenKey
|
|
57
|
-
});
|
|
42
|
+
const closing = activeReceiverClosing.get();
|
|
43
|
+
const animationProgress = activeReceiverAnimationProgress.get();
|
|
44
|
+
if (!closing) {
|
|
45
|
+
sourcePairBeforeClose.set(sourcePairKey ?? null);
|
|
58
46
|
}
|
|
59
|
-
const
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
47
|
+
const pairChangedDuringClose = !!closing && !!sourcePairKey && sourcePairKey !== sourcePairBeforeClose.get();
|
|
48
|
+
const hasActiveCloseFinished = hasCloseTransitionFinished({
|
|
49
|
+
closing,
|
|
50
|
+
animationProgress
|
|
63
51
|
});
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
const
|
|
52
|
+
const pair = sourcePairKey ? pairs.get()[sourcePairKey] : null;
|
|
53
|
+
const link = pair?.links[getLinkKeyFromTag(boundaryId)];
|
|
54
|
+
const pairDestination = link?.status === "complete" && (!link.group || pair?.groups[link.group]?.activeId === getLinkKeyFromTag(boundaryId)) ? link.destination.screenKey : null;
|
|
55
|
+
const interpolatorReady = nextInterpolatorReady.get();
|
|
56
|
+
const attachedScreenKey = attachedReceiverScreenKey.get();
|
|
57
|
+
const nextReceiverScreenKey = resolveHandoffAttachmentCandidate({
|
|
58
|
+
activeReceiverClosing: !!closing,
|
|
59
|
+
activeReceiverScreenKey,
|
|
60
|
+
attachedReceiverScreenKey: attachedScreenKey,
|
|
61
|
+
hasActiveCloseFinished,
|
|
62
|
+
interpolatorReady: !!interpolatorReady,
|
|
63
|
+
pairChangedDuringClose,
|
|
64
|
+
pairDestinationScreenKey: pairDestination,
|
|
65
|
+
previousReceiverScreenKey
|
|
66
|
+
});
|
|
67
|
+
const receiverEntry = nextReceiverScreenKey ? getEntry(boundaryId, nextReceiverScreenKey) : null;
|
|
68
|
+
const receiverReady = receiverEntry?.handoff === true;
|
|
69
|
+
const returningFromActiveClose = hasActiveCloseFinished && attachedScreenKey === activeReceiverScreenKey;
|
|
70
|
+
const activatingPairDestination = !!pairDestination && !!interpolatorReady && nextReceiverScreenKey === pairDestination;
|
|
71
|
+
const canActivateReceiver = returningFromActiveClose || activatingPairDestination || animationProgress > 0;
|
|
72
|
+
if (nextReceiverScreenKey && receiverReady && canActivateReceiver) {
|
|
73
|
+
attachedReceiverScreenKey.set(nextReceiverScreenKey);
|
|
74
|
+
}
|
|
75
|
+
const targetScreenKey = shouldTeleport ? attachedReceiverScreenKey.get() : null;
|
|
69
76
|
const targetHostName = targetScreenKey ? createBoundaryContentPortalHostName(targetScreenKey, boundaryId) : PORTAL_HOST_NAME_RESET_VALUE;
|
|
70
77
|
return {
|
|
71
78
|
...slotProps,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useAnimatedProps","useSharedValue","useDescriptorsStore","useScreenSlots","hasCloseTransitionFinished","AnimationStore","
|
|
1
|
+
{"version":3,"names":["useAnimatedProps","useSharedValue","useStack","useDescriptorsStore","useScreenSlots","hasCloseTransitionFinished","AnimationStore","getLinkKeyFromTag","getEntry","pairs","SystemStore","PORTAL_HOST_NAME_RESET_VALUE","isTeleportEnabled","resolveActiveHandoffReceiver","resolveHandoffAttachmentCandidate","resolvePreviousHandoffReceiver","createBoundaryContentPortalHostName","useBoundaryContentPortalAttachment","boundaryId","nextInterpolatorReady","slotsMap","currentScreenKey","s","derivations","sourcePairKey","activeReceiverScreenKey","previousReceiverScreenKey","activeReceiverAnimationProgress","getValue","activeReceiverClosing","attachedReceiverScreenKey","sourcePairBeforeClose","teleportProps","slot","get","pointerEvents","_pointerEvents","teleport","slotProps","props","shouldTeleport","closing","animationProgress","set","pairChangedDuringClose","hasActiveCloseFinished","pair","link","links","pairDestination","status","group","groups","activeId","destination","screenKey","interpolatorReady","attachedScreenKey","nextReceiverScreenKey","pairDestinationScreenKey","receiverEntry","receiverReady","handoff","returningFromActiveClose","activatingPairDestination","canActivateReceiver","targetScreenKey","targetHostName","hostName"],"sourceRoot":"../../../../../../../../../src","sources":["shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/host.js
CHANGED
|
@@ -50,7 +50,7 @@ function HostImpl({
|
|
|
50
50
|
unregisterHost(screenKey, hostKey);
|
|
51
51
|
};
|
|
52
52
|
}, [fallback, hostKey, screenKey]);
|
|
53
|
-
const boundaryHosts =
|
|
53
|
+
const boundaryHosts = activeBoundaryHosts.map(host => /*#__PURE__*/_jsx(View, {
|
|
54
54
|
pointerEvents: PORTAL_POINTER_EVENTS,
|
|
55
55
|
style: [styles.boundaryHostViewport, {
|
|
56
56
|
width: viewportWidth,
|
|
@@ -60,7 +60,7 @@ function HostImpl({
|
|
|
60
60
|
host: host,
|
|
61
61
|
style: StyleSheet.absoluteFill
|
|
62
62
|
})
|
|
63
|
-
}, host.portalHostName))
|
|
63
|
+
}, host.portalHostName));
|
|
64
64
|
return /*#__PURE__*/_jsx(Animated.View, {
|
|
65
65
|
ref: measurement.hostRef,
|
|
66
66
|
pointerEvents: PORTAL_POINTER_EVENTS,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useLayoutEffect","useRef","StyleSheet","useWindowDimensions","View","Animated","useDescriptorsStore","useScreenSlots","PORTAL_POINTER_EVENTS","useHostMeasurement","registerHost","unregisterHost","useActivePortalBoundaryHosts","PortalBoundaryHost","jsx","_jsx","nextHostId","HostImpl","fallback","style","screenKey","s","derivations","currentScreenKey","generatedHostKeyRef","current","hostKey","capturesScroll","activeBoundaryHosts","visibilityBlocked","height","viewportHeight","width","viewportWidth","measurement","enabled","length","boundaryHosts","
|
|
1
|
+
{"version":3,"names":["memo","useLayoutEffect","useRef","StyleSheet","useWindowDimensions","View","Animated","useDescriptorsStore","useScreenSlots","PORTAL_POINTER_EVENTS","useHostMeasurement","registerHost","unregisterHost","useActivePortalBoundaryHosts","PortalBoundaryHost","jsx","_jsx","nextHostId","HostImpl","fallback","style","screenKey","s","derivations","currentScreenKey","generatedHostKeyRef","current","hostKey","capturesScroll","activeBoundaryHosts","visibilityBlocked","height","viewportHeight","width","viewportWidth","measurement","enabled","length","boundaryHosts","map","host","pointerEvents","styles","boundaryHostViewport","children","absoluteFill","portalHostName","ref","hostRef","collapsable","Host","props","ScreenFallbackHost","create","elevation","left","overflow","position","top","zIndex"],"sourceRoot":"../../../../../../../../../src","sources":["shared/components/boundary/portal/components/boundary-portal/components/host.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { getLinkKeyFromTag } from "../../../../../../stores/bounds/helpers/link-pairs.helpers";
|
|
4
|
+
export const hasActiveBoundaryPortalLink = ({
|
|
5
|
+
boundaryId,
|
|
6
|
+
pairsState,
|
|
7
|
+
sourcePairKey
|
|
8
|
+
}) => {
|
|
9
|
+
"worklet";
|
|
10
|
+
|
|
11
|
+
if (!sourcePairKey) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
const pair = pairsState[sourcePairKey];
|
|
15
|
+
const linkKey = getLinkKeyFromTag(boundaryId);
|
|
16
|
+
const link = pair?.links[linkKey];
|
|
17
|
+
if (!link?.source) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
if (link.group && pair.groups[link.group]?.activeId !== linkKey) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
return true;
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=active-pair.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getLinkKeyFromTag","hasActiveBoundaryPortalLink","boundaryId","pairsState","sourcePairKey","pair","linkKey","link","links","source","group","groups","activeId"],"sourceRoot":"../../../../../../../../../src","sources":["shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,4DAA4D;AAY9F,OAAO,MAAMC,2BAA2B,GAAGA,CAAC;EAC3CC,UAAU;EACVC,UAAU;EACVC;AACkC,CAAC,KAAc;EACjD,SAAS;;EACT,IAAI,CAACA,aAAa,EAAE;IACnB,OAAO,KAAK;EACb;EAEA,MAAMC,IAAI,GAAGF,UAAU,CAACC,aAAa,CAAC;EACtC,MAAME,OAAO,GAAGN,iBAAiB,CAACE,UAAU,CAAC;EAC7C,MAAMK,IAAI,GAAGF,IAAI,EAAEG,KAAK,CAACF,OAAO,CAAC;EAEjC,IAAI,CAACC,IAAI,EAAEE,MAAM,EAAE;IAClB,OAAO,KAAK;EACb;EAEA,IAAIF,IAAI,CAACG,KAAK,IAAIL,IAAI,CAACM,MAAM,CAACJ,IAAI,CAACG,KAAK,CAAC,EAAEE,QAAQ,KAAKN,OAAO,EAAE;IAChE,OAAO,KAAK;EACb;EAEA,OAAO,IAAI;AACZ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useLayoutEffect, useRef, useState } from "react";
|
|
4
|
+
import { runOnJS, useAnimatedReaction } from "react-native-reanimated";
|
|
5
|
+
import { pairs } from "../../../../../../stores/bounds/internals/state";
|
|
6
|
+
import { createBoundaryPortalHostName } from "../../../utils/naming";
|
|
7
|
+
import { hasActiveBoundaryPortalLink } from "../helpers/active-pair";
|
|
8
|
+
import { mountPortalBoundaryHost, unmountPortalBoundaryHostByName } from "../stores/portal-boundary-host.store";
|
|
9
|
+
export const useActivePortalBoundaryHost = ({
|
|
10
|
+
boundaryId,
|
|
11
|
+
currentScreenKey,
|
|
12
|
+
escapeHostKey,
|
|
13
|
+
localStylesMaps,
|
|
14
|
+
portalHostName,
|
|
15
|
+
portalHostReady,
|
|
16
|
+
slotsMap,
|
|
17
|
+
sourcePairKey
|
|
18
|
+
}) => {
|
|
19
|
+
const [hasActiveLink, setHasActiveLink] = useState(false);
|
|
20
|
+
const sourcePairKeyRef = useRef(sourcePairKey);
|
|
21
|
+
sourcePairKeyRef.current = sourcePairKey;
|
|
22
|
+
const updateActiveLink = useCallback((observedSourcePairKey, nextHasActiveLink) => {
|
|
23
|
+
if (sourcePairKeyRef.current !== observedSourcePairKey) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
setHasActiveLink(nextHasActiveLink);
|
|
27
|
+
}, []);
|
|
28
|
+
useAnimatedReaction(() => {
|
|
29
|
+
"worklet";
|
|
30
|
+
|
|
31
|
+
return hasActiveBoundaryPortalLink({
|
|
32
|
+
boundaryId,
|
|
33
|
+
pairsState: pairs.get(),
|
|
34
|
+
sourcePairKey
|
|
35
|
+
});
|
|
36
|
+
}, (nextHasActiveLink, previousHasActiveLink) => {
|
|
37
|
+
"worklet";
|
|
38
|
+
|
|
39
|
+
if (nextHasActiveLink === previousHasActiveLink) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
runOnJS(updateActiveLink)(sourcePairKey, nextHasActiveLink);
|
|
43
|
+
});
|
|
44
|
+
useLayoutEffect(() => {
|
|
45
|
+
if (!hasActiveLink || !sourcePairKey || !escapeHostKey) {
|
|
46
|
+
portalHostName.set(null);
|
|
47
|
+
portalHostReady.set(false);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const nextPortalHostName = createBoundaryPortalHostName(escapeHostKey, boundaryId, sourcePairKey);
|
|
51
|
+
mountPortalBoundaryHost({
|
|
52
|
+
boundaryId,
|
|
53
|
+
hostKey: escapeHostKey,
|
|
54
|
+
localStylesMaps,
|
|
55
|
+
pairKey: sourcePairKey,
|
|
56
|
+
portalHostName: nextPortalHostName,
|
|
57
|
+
portalHostReady,
|
|
58
|
+
screenKey: currentScreenKey,
|
|
59
|
+
slotsMap
|
|
60
|
+
});
|
|
61
|
+
portalHostName.set(nextPortalHostName);
|
|
62
|
+
return () => {
|
|
63
|
+
portalHostName.set(null);
|
|
64
|
+
portalHostReady.set(false);
|
|
65
|
+
unmountPortalBoundaryHostByName(nextPortalHostName);
|
|
66
|
+
};
|
|
67
|
+
}, [boundaryId, currentScreenKey, escapeHostKey, localStylesMaps, portalHostName, portalHostReady, sourcePairKey, slotsMap, hasActiveLink]);
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=use-active-portal-boundary-host.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useLayoutEffect","useRef","useState","runOnJS","useAnimatedReaction","pairs","createBoundaryPortalHostName","hasActiveBoundaryPortalLink","mountPortalBoundaryHost","unmountPortalBoundaryHostByName","useActivePortalBoundaryHost","boundaryId","currentScreenKey","escapeHostKey","localStylesMaps","portalHostName","portalHostReady","slotsMap","sourcePairKey","hasActiveLink","setHasActiveLink","sourcePairKeyRef","current","updateActiveLink","observedSourcePairKey","nextHasActiveLink","pairsState","get","previousHasActiveLink","set","nextPortalHostName","hostKey","pairKey","screenKey"],"sourceRoot":"../../../../../../../../../src","sources":["shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,eAAe,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACtE,SACCC,OAAO,EAEPC,mBAAmB,QACb,yBAAyB;AAEhC,SAASC,KAAK,QAAQ,iDAAiD;AAGvE,SAASC,4BAA4B,QAAQ,uBAAuB;AACpE,SAASC,2BAA2B,QAAQ,wBAAwB;AACpE,SACCC,uBAAuB,EACvBC,+BAA+B,QACzB,sCAAsC;AAa7C,OAAO,MAAMC,2BAA2B,GAAGA,CAAC;EAC3CC,UAAU;EACVC,gBAAgB;EAChBC,aAAa;EACbC,eAAe;EACfC,cAAc;EACdC,eAAe;EACfC,QAAQ;EACRC;AACkC,CAAC,KAAK;EACxC,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGlB,QAAQ,CAAC,KAAK,CAAC;EACzD,MAAMmB,gBAAgB,GAAGpB,MAAM,CAACiB,aAAa,CAAC;EAC9CG,gBAAgB,CAACC,OAAO,GAAGJ,aAAa;EAExC,MAAMK,gBAAgB,GAAGxB,WAAW,CACnC,CACCyB,qBAAgD,EAChDC,iBAA0B,KACtB;IACJ,IAAIJ,gBAAgB,CAACC,OAAO,KAAKE,qBAAqB,EAAE;MACvD;IACD;IAEAJ,gBAAgB,CAACK,iBAAiB,CAAC;EACpC,CAAC,EACD,EACD,CAAC;EAEDrB,mBAAmB,CAClB,MAAM;IACL,SAAS;;IACT,OAAOG,2BAA2B,CAAC;MAClCI,UAAU;MACVe,UAAU,EAAErB,KAAK,CAACsB,GAAG,CAAC,CAAC;MACvBT;IACD,CAAC,CAAC;EACH,CAAC,EACD,CAACO,iBAAiB,EAAEG,qBAAqB,KAAK;IAC7C,SAAS;;IACT,IAAIH,iBAAiB,KAAKG,qBAAqB,EAAE;MAChD;IACD;IAEAzB,OAAO,CAACoB,gBAAgB,CAAC,CAACL,aAAa,EAAEO,iBAAiB,CAAC;EAC5D,CACD,CAAC;EAEDzB,eAAe,CAAC,MAAM;IACrB,IAAI,CAACmB,aAAa,IAAI,CAACD,aAAa,IAAI,CAACL,aAAa,EAAE;MACvDE,cAAc,CAACc,GAAG,CAAC,IAAI,CAAC;MACxBb,eAAe,CAACa,GAAG,CAAC,KAAK,CAAC;MAC1B;IACD;IAEA,MAAMC,kBAAkB,GAAGxB,4BAA4B,CACtDO,aAAa,EACbF,UAAU,EACVO,aACD,CAAC;IAEDV,uBAAuB,CAAC;MACvBG,UAAU;MACVoB,OAAO,EAAElB,aAAa;MACtBC,eAAe;MACfkB,OAAO,EAAEd,aAAa;MACtBH,cAAc,EAAEe,kBAAkB;MAClCd,eAAe;MACfiB,SAAS,EAAErB,gBAAgB;MAC3BK;IACD,CAAC,CAAC;IACFF,cAAc,CAACc,GAAG,CAACC,kBAAkB,CAAC;IAEtC,OAAO,MAAM;MACZf,cAAc,CAACc,GAAG,CAAC,IAAI,CAAC;MACxBb,eAAe,CAACa,GAAG,CAAC,KAAK,CAAC;MAC1BpB,+BAA+B,CAACqB,kBAAkB,CAAC;IACpD,CAAC;EACF,CAAC,EAAE,CACFnB,UAAU,EACVC,gBAAgB,EAChBC,aAAa,EACbC,eAAe,EACfC,cAAc,EACdC,eAAe,EACfE,aAAa,EACbD,QAAQ,EACRE,aAAa,CACb,CAAC;AACH,CAAC","ignoreList":[]}
|