react-native-screen-transitions 4.0.0-alpha.2 → 4.0.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/adapters/with-screen-transitions/context.js +4 -0
- package/lib/commonjs/adapters/with-screen-transitions/context.js.map +1 -1
- package/lib/commonjs/adapters/with-screen-transitions/stack-layout.js +14 -8
- package/lib/commonjs/adapters/with-screen-transitions/stack-layout.js.map +1 -1
- package/lib/commonjs/animation/snap-to.js +1 -0
- package/lib/commonjs/animation/snap-to.js.map +1 -1
- package/lib/commonjs/components/activity/variants/activity-screen.js +26 -10
- package/lib/commonjs/components/activity/variants/activity-screen.js.map +1 -1
- package/lib/commonjs/components/boundary/components/boundary-target.js +1 -1
- package/lib/commonjs/components/boundary/components/boundary-target.js.map +1 -1
- package/lib/commonjs/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +18 -7
- package/lib/commonjs/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
- package/lib/commonjs/components/boundary/hooks/lifecycles/use-refresh-boundary.js +5 -12
- package/lib/commonjs/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -1
- package/lib/commonjs/components/boundary/hooks/use-measurer.js +6 -13
- package/lib/commonjs/components/boundary/hooks/use-measurer.js.map +1 -1
- package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js +67 -0
- package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js.map +1 -0
- package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +44 -37
- package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/host.js +2 -2
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/host.js.map +1 -1
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/helpers/active-pair.js +30 -0
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/helpers/active-pair.js.map +1 -0
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +75 -0
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +1 -0
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +17 -32
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js +10 -19
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +1 -1
- package/lib/commonjs/components/boundary/portal/utils/naming.js +8 -1
- package/lib/commonjs/components/boundary/portal/utils/naming.js.map +1 -1
- package/lib/commonjs/components/boundary/providers/boundary-root.provider.js +4 -5
- package/lib/commonjs/components/boundary/providers/boundary-root.provider.js.map +1 -1
- package/lib/commonjs/components/boundary/utils/measured-bounds.js +19 -31
- package/lib/commonjs/components/boundary/utils/measured-bounds.js.map +1 -1
- package/lib/commonjs/components/boundary/utils/refresh-signals.js +14 -20
- package/lib/commonjs/components/boundary/utils/refresh-signals.js.map +1 -1
- package/lib/commonjs/components/create-transition-aware-component.js +9 -30
- package/lib/commonjs/components/create-transition-aware-component.js.map +1 -1
- package/lib/commonjs/components/screen-container/hooks/use-backdrop-pointer-events.js +5 -9
- package/lib/commonjs/components/screen-container/hooks/use-backdrop-pointer-events.js.map +1 -1
- package/lib/commonjs/components/screen-container/hooks/use-content-layout.js +3 -8
- package/lib/commonjs/components/screen-container/hooks/use-content-layout.js.map +1 -1
- package/lib/commonjs/components/screen-container/layers/backdrop.js +7 -10
- package/lib/commonjs/components/screen-container/layers/backdrop.js.map +1 -1
- package/lib/commonjs/components/screen-container/layers/content.js +10 -16
- package/lib/commonjs/components/screen-container/layers/content.js.map +1 -1
- package/lib/commonjs/components/screen-container/layers/surface-container.js +1 -5
- package/lib/commonjs/components/screen-container/layers/surface-container.js.map +1 -1
- package/lib/commonjs/components/screen-lifecycle/hooks/use-close-transition-intent.js +10 -12
- package/lib/commonjs/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
- package/lib/commonjs/components/screen-lifecycle/hooks/use-open-transition-intent.js +2 -3
- package/lib/commonjs/components/screen-lifecycle/hooks/use-open-transition-intent.js.map +1 -1
- package/lib/commonjs/components/screen-lifecycle/hooks/use-transition-start-controller.js +5 -1
- package/lib/commonjs/components/screen-lifecycle/hooks/use-transition-start-controller.js.map +1 -1
- package/lib/commonjs/components/screen-lifecycle/index.js +2 -4
- package/lib/commonjs/components/screen-lifecycle/index.js.map +1 -1
- package/lib/commonjs/components/stack-view.js +69 -35
- package/lib/commonjs/components/stack-view.js.map +1 -1
- package/lib/commonjs/configs/presets.js +10 -10
- package/lib/commonjs/configs/presets.js.map +1 -1
- package/lib/commonjs/constants.js +1 -0
- package/lib/commonjs/constants.js.map +1 -1
- package/lib/commonjs/hooks/navigation/use-navigation-helpers.js +9 -8
- package/lib/commonjs/hooks/navigation/use-navigation-helpers.js.map +1 -1
- package/lib/commonjs/hooks/navigation/use-screen-state.js +1 -3
- package/lib/commonjs/hooks/navigation/use-screen-state.js.map +1 -1
- package/lib/commonjs/providers/screen/animation/animation.provider.js +7 -7
- package/lib/commonjs/providers/screen/animation/animation.provider.js.map +1 -1
- package/lib/commonjs/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.js +1 -3
- package/lib/commonjs/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.js.map +1 -1
- package/lib/commonjs/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +1 -1
- package/lib/commonjs/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -1
- package/lib/commonjs/providers/screen/animation/helpers/hydrate-transition-state/index.js +4 -10
- package/lib/commonjs/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
- package/lib/commonjs/providers/screen/animation/helpers/pipeline.js +5 -7
- package/lib/commonjs/providers/screen/animation/helpers/pipeline.js.map +1 -1
- package/lib/commonjs/providers/screen/animation/index.js +2 -2
- package/lib/commonjs/providers/screen/animation/use-screen-animation.js +1 -1
- package/lib/commonjs/providers/screen/animation/use-screen-animation.js.map +1 -1
- package/lib/commonjs/providers/screen/descriptors/descriptors.provider.js +34 -42
- package/lib/commonjs/providers/screen/descriptors/descriptors.provider.js.map +1 -1
- package/lib/commonjs/providers/screen/descriptors/index.js +0 -12
- package/lib/commonjs/providers/screen/descriptors/index.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/gestures.provider.js +7 -7
- package/lib/commonjs/providers/screen/gestures/gestures.provider.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/hooks/use-screen-gesture-config.js +3 -9
- package/lib/commonjs/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/hooks/use-screen-gesture.js +1 -1
- package/lib/commonjs/providers/screen/gestures/hooks/use-screen-gesture.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/hooks/use-stable-runtime-config.js +1 -3
- package/lib/commonjs/providers/screen/gestures/hooks/use-stable-runtime-config.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/index.js +2 -2
- package/lib/commonjs/providers/screen/gestures/ownership/shadowing-claims.js +2 -2
- package/lib/commonjs/providers/screen/gestures/ownership/shadowing-claims.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js +8 -11
- package/lib/commonjs/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/pan/activation/use-pan-activation.js +2 -4
- package/lib/commonjs/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/pan/behavior/pan-lifecycle.js +5 -8
- package/lib/commonjs/providers/screen/gestures/pan/behavior/pan-lifecycle.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/pan/behavior/pan-reset.js +10 -0
- package/lib/commonjs/providers/screen/gestures/pan/behavior/pan-reset.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/pan/use-build-pan-gesture.js +1 -1
- package/lib/commonjs/providers/screen/gestures/pan/use-build-pan-gesture.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +8 -6
- package/lib/commonjs/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/pinch/behavior/pinch-reset.js +7 -0
- package/lib/commonjs/providers/screen/gestures/pinch/behavior/pinch-reset.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/pinch/use-build-pinch-gesture.js +1 -1
- package/lib/commonjs/providers/screen/gestures/pinch/use-build-pinch-gesture.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js +5 -5
- package/lib/commonjs/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js.map +1 -1
- package/lib/commonjs/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +2 -2
- package/lib/commonjs/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
- package/lib/commonjs/providers/screen/options/index.js +2 -2
- package/lib/commonjs/providers/screen/options/options.provider.js +4 -8
- package/lib/commonjs/providers/screen/options/options.provider.js.map +1 -1
- package/lib/commonjs/providers/screen/screen-composer.js +2 -0
- package/lib/commonjs/providers/screen/screen-composer.js.map +1 -1
- package/lib/commonjs/providers/screen/styles/constants.js +10 -4
- package/lib/commonjs/providers/screen/styles/constants.js.map +1 -1
- package/lib/commonjs/providers/screen/styles/helpers/resolve-interpolator-style-handoff.js +93 -0
- package/lib/commonjs/providers/screen/styles/helpers/resolve-interpolator-style-handoff.js.map +1 -0
- package/lib/commonjs/providers/screen/styles/helpers/resolve-slot-styles/index.js +48 -5
- package/lib/commonjs/providers/screen/styles/helpers/resolve-slot-styles/index.js.map +1 -1
- package/lib/commonjs/providers/screen/styles/helpers/select-interpolator-frame.js +32 -0
- package/lib/commonjs/providers/screen/styles/helpers/select-interpolator-frame.js.map +1 -0
- package/lib/commonjs/providers/screen/styles/helpers/visibility-gate.js +14 -1
- package/lib/commonjs/providers/screen/styles/helpers/visibility-gate.js.map +1 -1
- package/lib/commonjs/providers/screen/styles/hooks/use-interpolated-style-maps.js +64 -40
- package/lib/commonjs/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
- package/lib/commonjs/providers/screen/styles/hooks/use-maybe-block-visibility.js +1 -3
- package/lib/commonjs/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
- package/lib/commonjs/providers/screen/styles/index.js +0 -6
- package/lib/commonjs/providers/screen/styles/index.js.map +1 -1
- package/lib/commonjs/providers/screen/styles/slot.provider.js +23 -19
- package/lib/commonjs/providers/screen/styles/slot.provider.js.map +1 -1
- package/lib/commonjs/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js +3 -11
- package/lib/commonjs/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js.map +1 -1
- package/lib/commonjs/providers/stack/blank-stack.provider.js +53 -49
- package/lib/commonjs/providers/stack/blank-stack.provider.js.map +1 -1
- package/lib/commonjs/providers/stack/core.provider.js +24 -45
- package/lib/commonjs/providers/stack/core.provider.js.map +1 -1
- package/lib/commonjs/providers/stack/direct.provider.js +46 -40
- package/lib/commonjs/providers/stack/direct.provider.js.map +1 -1
- package/lib/commonjs/stores/animation.store.js +19 -1
- package/lib/commonjs/stores/animation.store.js.map +1 -1
- package/lib/commonjs/types/stack.types.js.map +1 -1
- package/lib/commonjs/utils/animation/animate-to-progress.js +12 -11
- package/lib/commonjs/utils/animation/animate-to-progress.js.map +1 -1
- package/lib/commonjs/utils/bounds/helpers/create-bounds-accessor-core.js +6 -0
- package/lib/commonjs/utils/bounds/helpers/create-bounds-accessor-core.js.map +1 -1
- package/lib/commonjs/utils/create-provider.js +61 -75
- package/lib/commonjs/utils/create-provider.js.map +1 -1
- package/lib/module/adapters/with-screen-transitions/context.js +3 -0
- package/lib/module/adapters/with-screen-transitions/context.js.map +1 -1
- package/lib/module/adapters/with-screen-transitions/stack-layout.js +14 -8
- package/lib/module/adapters/with-screen-transitions/stack-layout.js.map +1 -1
- package/lib/module/animation/snap-to.js +1 -0
- package/lib/module/animation/snap-to.js.map +1 -1
- package/lib/module/components/activity/variants/activity-screen.js +26 -10
- package/lib/module/components/activity/variants/activity-screen.js.map +1 -1
- package/lib/module/components/boundary/components/boundary-target.js +2 -2
- package/lib/module/components/boundary/components/boundary-target.js.map +1 -1
- package/lib/module/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +19 -7
- package/lib/module/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
- package/lib/module/components/boundary/hooks/lifecycles/use-refresh-boundary.js +5 -12
- package/lib/module/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -1
- package/lib/module/components/boundary/hooks/use-measurer.js +7 -14
- package/lib/module/components/boundary/hooks/use-measurer.js.map +1 -1
- package/lib/module/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js +60 -0
- package/lib/module/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js.map +1 -0
- package/lib/module/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +44 -37
- package/lib/module/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
- package/lib/module/components/boundary/portal/components/boundary-portal/components/host.js +2 -2
- package/lib/module/components/boundary/portal/components/boundary-portal/components/host.js.map +1 -1
- package/lib/module/components/boundary/portal/components/boundary-portal/helpers/active-pair.js +25 -0
- package/lib/module/components/boundary/portal/components/boundary-portal/helpers/active-pair.js.map +1 -0
- package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +70 -0
- package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +1 -0
- package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +17 -32
- package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
- package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js +13 -22
- package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +1 -1
- package/lib/module/components/boundary/portal/utils/naming.js +6 -0
- package/lib/module/components/boundary/portal/utils/naming.js.map +1 -1
- package/lib/module/components/boundary/providers/boundary-root.provider.js +3 -3
- package/lib/module/components/boundary/providers/boundary-root.provider.js.map +1 -1
- package/lib/module/components/boundary/utils/measured-bounds.js +17 -28
- package/lib/module/components/boundary/utils/measured-bounds.js.map +1 -1
- package/lib/module/components/boundary/utils/refresh-signals.js +14 -20
- package/lib/module/components/boundary/utils/refresh-signals.js.map +1 -1
- package/lib/module/components/create-transition-aware-component.js +10 -31
- package/lib/module/components/create-transition-aware-component.js.map +1 -1
- package/lib/module/components/screen-container/hooks/use-backdrop-pointer-events.js +8 -12
- package/lib/module/components/screen-container/hooks/use-backdrop-pointer-events.js.map +1 -1
- package/lib/module/components/screen-container/hooks/use-content-layout.js +4 -9
- package/lib/module/components/screen-container/hooks/use-content-layout.js.map +1 -1
- package/lib/module/components/screen-container/layers/backdrop.js +8 -11
- package/lib/module/components/screen-container/layers/backdrop.js.map +1 -1
- package/lib/module/components/screen-container/layers/content.js +12 -18
- package/lib/module/components/screen-container/layers/content.js.map +1 -1
- package/lib/module/components/screen-container/layers/surface-container.js +2 -6
- package/lib/module/components/screen-container/layers/surface-container.js.map +1 -1
- package/lib/module/components/screen-lifecycle/hooks/use-close-transition-intent.js +13 -15
- package/lib/module/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
- package/lib/module/components/screen-lifecycle/hooks/use-open-transition-intent.js +3 -4
- package/lib/module/components/screen-lifecycle/hooks/use-open-transition-intent.js.map +1 -1
- package/lib/module/components/screen-lifecycle/hooks/use-transition-start-controller.js +5 -1
- package/lib/module/components/screen-lifecycle/hooks/use-transition-start-controller.js.map +1 -1
- package/lib/module/components/screen-lifecycle/index.js +3 -5
- package/lib/module/components/screen-lifecycle/index.js.map +1 -1
- package/lib/module/components/stack-view.js +71 -37
- package/lib/module/components/stack-view.js.map +1 -1
- package/lib/module/configs/presets.js +10 -10
- package/lib/module/configs/presets.js.map +1 -1
- package/lib/module/constants.js +1 -0
- package/lib/module/constants.js.map +1 -1
- package/lib/module/hooks/navigation/use-navigation-helpers.js +9 -8
- package/lib/module/hooks/navigation/use-navigation-helpers.js.map +1 -1
- package/lib/module/hooks/navigation/use-screen-state.js +2 -4
- package/lib/module/hooks/navigation/use-screen-state.js.map +1 -1
- package/lib/module/providers/screen/animation/animation.provider.js +6 -5
- package/lib/module/providers/screen/animation/animation.provider.js.map +1 -1
- package/lib/module/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.js +2 -4
- package/lib/module/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.js.map +1 -1
- package/lib/module/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +2 -2
- package/lib/module/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -1
- package/lib/module/providers/screen/animation/helpers/hydrate-transition-state/index.js +4 -10
- package/lib/module/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
- package/lib/module/providers/screen/animation/helpers/pipeline.js +6 -8
- package/lib/module/providers/screen/animation/helpers/pipeline.js.map +1 -1
- package/lib/module/providers/screen/animation/index.js +1 -1
- package/lib/module/providers/screen/animation/index.js.map +1 -1
- package/lib/module/providers/screen/animation/use-screen-animation.js +2 -2
- package/lib/module/providers/screen/animation/use-screen-animation.js.map +1 -1
- package/lib/module/providers/screen/descriptors/descriptors.provider.js +34 -40
- package/lib/module/providers/screen/descriptors/descriptors.provider.js.map +1 -1
- package/lib/module/providers/screen/descriptors/index.js +1 -1
- package/lib/module/providers/screen/descriptors/index.js.map +1 -1
- package/lib/module/providers/screen/gestures/gestures.provider.js +6 -6
- package/lib/module/providers/screen/gestures/gestures.provider.js.map +1 -1
- package/lib/module/providers/screen/gestures/hooks/use-screen-gesture-config.js +5 -11
- package/lib/module/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
- package/lib/module/providers/screen/gestures/hooks/use-screen-gesture.js +2 -2
- package/lib/module/providers/screen/gestures/hooks/use-screen-gesture.js.map +1 -1
- package/lib/module/providers/screen/gestures/hooks/use-stable-runtime-config.js +2 -4
- package/lib/module/providers/screen/gestures/hooks/use-stable-runtime-config.js.map +1 -1
- package/lib/module/providers/screen/gestures/index.js +1 -1
- package/lib/module/providers/screen/gestures/index.js.map +1 -1
- package/lib/module/providers/screen/gestures/ownership/shadowing-claims.js +2 -2
- package/lib/module/providers/screen/gestures/ownership/shadowing-claims.js.map +1 -1
- package/lib/module/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js +10 -13
- package/lib/module/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js.map +1 -1
- package/lib/module/providers/screen/gestures/pan/activation/use-pan-activation.js +3 -5
- package/lib/module/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -1
- package/lib/module/providers/screen/gestures/pan/behavior/pan-lifecycle.js +6 -9
- package/lib/module/providers/screen/gestures/pan/behavior/pan-lifecycle.js.map +1 -1
- package/lib/module/providers/screen/gestures/pan/behavior/pan-reset.js +10 -0
- package/lib/module/providers/screen/gestures/pan/behavior/pan-reset.js.map +1 -1
- package/lib/module/providers/screen/gestures/pan/use-build-pan-gesture.js +2 -2
- package/lib/module/providers/screen/gestures/pan/use-build-pan-gesture.js.map +1 -1
- package/lib/module/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +9 -7
- package/lib/module/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
- package/lib/module/providers/screen/gestures/pinch/behavior/pinch-reset.js +7 -0
- package/lib/module/providers/screen/gestures/pinch/behavior/pinch-reset.js.map +1 -1
- package/lib/module/providers/screen/gestures/pinch/use-build-pinch-gesture.js +2 -2
- package/lib/module/providers/screen/gestures/pinch/use-build-pinch-gesture.js.map +1 -1
- package/lib/module/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js +3 -3
- package/lib/module/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js.map +1 -1
- package/lib/module/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +4 -4
- package/lib/module/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
- package/lib/module/providers/screen/options/index.js +1 -1
- package/lib/module/providers/screen/options/index.js.map +1 -1
- package/lib/module/providers/screen/options/options.provider.js +3 -7
- package/lib/module/providers/screen/options/options.provider.js.map +1 -1
- package/lib/module/providers/screen/screen-composer.js +2 -0
- package/lib/module/providers/screen/screen-composer.js.map +1 -1
- package/lib/module/providers/screen/styles/constants.js +8 -3
- package/lib/module/providers/screen/styles/constants.js.map +1 -1
- package/lib/module/providers/screen/styles/helpers/resolve-interpolator-style-handoff.js +88 -0
- package/lib/module/providers/screen/styles/helpers/resolve-interpolator-style-handoff.js.map +1 -0
- package/lib/module/providers/screen/styles/helpers/resolve-slot-styles/index.js +49 -6
- package/lib/module/providers/screen/styles/helpers/resolve-slot-styles/index.js.map +1 -1
- package/lib/module/providers/screen/styles/helpers/select-interpolator-frame.js +27 -0
- package/lib/module/providers/screen/styles/helpers/select-interpolator-frame.js.map +1 -0
- package/lib/module/providers/screen/styles/helpers/visibility-gate.js +12 -0
- package/lib/module/providers/screen/styles/helpers/visibility-gate.js.map +1 -1
- package/lib/module/providers/screen/styles/hooks/use-interpolated-style-maps.js +67 -43
- package/lib/module/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
- package/lib/module/providers/screen/styles/hooks/use-maybe-block-visibility.js +2 -4
- package/lib/module/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
- package/lib/module/providers/screen/styles/index.js +1 -1
- package/lib/module/providers/screen/styles/index.js.map +1 -1
- package/lib/module/providers/screen/styles/slot.provider.js +23 -18
- package/lib/module/providers/screen/styles/slot.provider.js.map +1 -1
- package/lib/module/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js +3 -11
- package/lib/module/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js.map +1 -1
- package/lib/module/providers/stack/blank-stack.provider.js +50 -47
- package/lib/module/providers/stack/blank-stack.provider.js.map +1 -1
- package/lib/module/providers/stack/core.provider.js +22 -43
- package/lib/module/providers/stack/core.provider.js.map +1 -1
- package/lib/module/providers/stack/direct.provider.js +44 -41
- package/lib/module/providers/stack/direct.provider.js.map +1 -1
- package/lib/module/stores/animation.store.js +17 -0
- package/lib/module/stores/animation.store.js.map +1 -1
- package/lib/module/types/stack.types.js.map +1 -1
- package/lib/module/utils/animation/animate-to-progress.js +12 -11
- package/lib/module/utils/animation/animate-to-progress.js.map +1 -1
- package/lib/module/utils/bounds/helpers/create-bounds-accessor-core.js +6 -0
- package/lib/module/utils/bounds/helpers/create-bounds-accessor-core.js.map +1 -1
- package/lib/module/utils/create-provider.js +62 -76
- package/lib/module/utils/create-provider.js.map +1 -1
- package/lib/typescript/adapters/with-screen-transitions/context.d.ts +2 -0
- package/lib/typescript/adapters/with-screen-transitions/context.d.ts.map +1 -1
- package/lib/typescript/adapters/with-screen-transitions/stack-layout.d.ts +1 -1
- package/lib/typescript/adapters/with-screen-transitions/stack-layout.d.ts.map +1 -1
- package/lib/typescript/animation/snap-to.d.ts.map +1 -1
- package/lib/typescript/components/activity/variants/activity-screen.d.ts +3 -2
- package/lib/typescript/components/activity/variants/activity-screen.d.ts.map +1 -1
- package/lib/typescript/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts.map +1 -1
- package/lib/typescript/components/boundary/hooks/lifecycles/use-refresh-boundary.d.ts.map +1 -1
- package/lib/typescript/components/boundary/hooks/use-measurer.d.ts +1 -1
- package/lib/typescript/components/boundary/hooks/use-measurer.d.ts.map +1 -1
- package/lib/typescript/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.d.ts +26 -0
- package/lib/typescript/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.d.ts.map +1 -0
- package/lib/typescript/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.d.ts.map +1 -1
- package/lib/typescript/components/boundary/portal/components/boundary-portal/components/host.d.ts.map +1 -1
- package/lib/typescript/components/boundary/portal/components/boundary-portal/helpers/active-pair.d.ts +9 -0
- package/lib/typescript/components/boundary/portal/components/boundary-portal/helpers/active-pair.d.ts.map +1 -0
- package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts +17 -0
- package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts.map +1 -0
- package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts.map +1 -1
- package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.d.ts +0 -1
- package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.d.ts.map +1 -1
- package/lib/typescript/components/boundary/portal/utils/naming.d.ts +1 -0
- package/lib/typescript/components/boundary/portal/utils/naming.d.ts.map +1 -1
- package/lib/typescript/components/boundary/providers/boundary-root.provider.d.ts +1 -1
- package/lib/typescript/components/boundary/providers/boundary-root.provider.d.ts.map +1 -1
- package/lib/typescript/components/boundary/utils/measured-bounds.d.ts +1 -3
- package/lib/typescript/components/boundary/utils/measured-bounds.d.ts.map +1 -1
- package/lib/typescript/components/boundary/utils/refresh-signals.d.ts +0 -4
- package/lib/typescript/components/boundary/utils/refresh-signals.d.ts.map +1 -1
- package/lib/typescript/components/create-transition-aware-component.d.ts +0 -2
- package/lib/typescript/components/create-transition-aware-component.d.ts.map +1 -1
- package/lib/typescript/components/screen-container/hooks/use-backdrop-pointer-events.d.ts.map +1 -1
- package/lib/typescript/components/screen-container/hooks/use-content-layout.d.ts.map +1 -1
- package/lib/typescript/components/screen-container/layers/backdrop.d.ts.map +1 -1
- package/lib/typescript/components/screen-container/layers/content.d.ts.map +1 -1
- package/lib/typescript/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts.map +1 -1
- package/lib/typescript/components/screen-lifecycle/hooks/use-open-transition-intent.d.ts.map +1 -1
- package/lib/typescript/components/screen-lifecycle/hooks/use-transition-start-controller.d.ts.map +1 -1
- package/lib/typescript/components/screen-lifecycle/index.d.ts.map +1 -1
- package/lib/typescript/components/stack-view.d.ts +5 -1
- package/lib/typescript/components/stack-view.d.ts.map +1 -1
- package/lib/typescript/configs/index.d.ts +6 -6
- package/lib/typescript/configs/presets.d.ts +6 -6
- package/lib/typescript/configs/presets.d.ts.map +1 -1
- package/lib/typescript/constants.d.ts.map +1 -1
- package/lib/typescript/hooks/navigation/use-navigation-helpers.d.ts.map +1 -1
- package/lib/typescript/hooks/navigation/use-screen-state.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +10 -18
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/providers/screen/animation/animation.provider.d.ts +4 -1
- package/lib/typescript/providers/screen/animation/animation.provider.d.ts.map +1 -1
- package/lib/typescript/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.d.ts.map +1 -1
- package/lib/typescript/providers/screen/animation/helpers/hydrate-transition-state/index.d.ts.map +1 -1
- package/lib/typescript/providers/screen/animation/helpers/pipeline.d.ts.map +1 -1
- package/lib/typescript/providers/screen/animation/index.d.ts +1 -1
- package/lib/typescript/providers/screen/animation/index.d.ts.map +1 -1
- package/lib/typescript/providers/screen/descriptors/descriptors.provider.d.ts +10 -11
- package/lib/typescript/providers/screen/descriptors/descriptors.provider.d.ts.map +1 -1
- package/lib/typescript/providers/screen/descriptors/index.d.ts +1 -1
- package/lib/typescript/providers/screen/descriptors/index.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/gestures.provider.d.ts +4 -1
- package/lib/typescript/providers/screen/gestures/gestures.provider.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/hooks/use-screen-gesture-config.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/hooks/use-stable-runtime-config.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/index.d.ts +1 -1
- package/lib/typescript/providers/screen/gestures/index.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/ownership/shadowing-claims.d.ts +2 -3
- package/lib/typescript/providers/screen/gestures/ownership/shadowing-claims.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/pan/activation/use-pan-activation.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/pan/behavior/pan-lifecycle.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/pan/behavior/pan-reset.d.ts +4 -1
- package/lib/typescript/providers/screen/gestures/pan/behavior/pan-reset.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/pinch/behavior/pinch-lifecycle.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/pinch/behavior/pinch-reset.d.ts +3 -1
- package/lib/typescript/providers/screen/gestures/pinch/behavior/pinch-reset.d.ts.map +1 -1
- package/lib/typescript/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.d.ts +1 -1
- package/lib/typescript/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.d.ts.map +1 -1
- package/lib/typescript/providers/screen/options/index.d.ts +1 -1
- package/lib/typescript/providers/screen/options/index.d.ts.map +1 -1
- package/lib/typescript/providers/screen/options/options.provider.d.ts +4 -1
- package/lib/typescript/providers/screen/options/options.provider.d.ts.map +1 -1
- package/lib/typescript/providers/screen/screen-composer.d.ts +3 -2
- package/lib/typescript/providers/screen/screen-composer.d.ts.map +1 -1
- package/lib/typescript/providers/screen/styles/constants.d.ts +1 -0
- package/lib/typescript/providers/screen/styles/constants.d.ts.map +1 -1
- package/lib/typescript/providers/screen/styles/helpers/resolve-interpolator-style-handoff.d.ts +12 -0
- package/lib/typescript/providers/screen/styles/helpers/resolve-interpolator-style-handoff.d.ts.map +1 -0
- package/lib/typescript/providers/screen/styles/helpers/resolve-slot-styles/index.d.ts +5 -3
- package/lib/typescript/providers/screen/styles/helpers/resolve-slot-styles/index.d.ts.map +1 -1
- package/lib/typescript/providers/screen/styles/helpers/select-interpolator-frame.d.ts +4 -0
- package/lib/typescript/providers/screen/styles/helpers/select-interpolator-frame.d.ts.map +1 -0
- package/lib/typescript/providers/screen/styles/helpers/visibility-gate.d.ts +10 -0
- package/lib/typescript/providers/screen/styles/helpers/visibility-gate.d.ts.map +1 -1
- package/lib/typescript/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts +10 -5
- package/lib/typescript/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts.map +1 -1
- package/lib/typescript/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts +1 -1
- package/lib/typescript/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts.map +1 -1
- package/lib/typescript/providers/screen/styles/index.d.ts +1 -1
- package/lib/typescript/providers/screen/styles/index.d.ts.map +1 -1
- package/lib/typescript/providers/screen/styles/slot.provider.d.ts +4 -1
- package/lib/typescript/providers/screen/styles/slot.provider.d.ts.map +1 -1
- package/lib/typescript/providers/stack/blank-stack-state/helpers/build-blank-stack-state.d.ts.map +1 -1
- package/lib/typescript/providers/stack/blank-stack.provider.d.ts +12 -6
- package/lib/typescript/providers/stack/blank-stack.provider.d.ts.map +1 -1
- package/lib/typescript/providers/stack/core.provider.d.ts +10 -8
- package/lib/typescript/providers/stack/core.provider.d.ts.map +1 -1
- package/lib/typescript/providers/stack/direct.provider.d.ts +11 -4
- package/lib/typescript/providers/stack/direct.provider.d.ts.map +1 -1
- package/lib/typescript/stores/animation.store.d.ts +1 -0
- package/lib/typescript/stores/animation.store.d.ts.map +1 -1
- package/lib/typescript/types/blank-stack.types.d.ts +1 -4
- package/lib/typescript/types/blank-stack.types.d.ts.map +1 -1
- package/lib/typescript/types/gesture.types.d.ts +11 -0
- package/lib/typescript/types/gesture.types.d.ts.map +1 -1
- package/lib/typescript/types/providers/blank-stack-provider.types.d.ts +12 -20
- package/lib/typescript/types/providers/blank-stack-provider.types.d.ts.map +1 -1
- package/lib/typescript/types/providers/direct-stack.types.d.ts +2 -1
- package/lib/typescript/types/providers/direct-stack.types.d.ts.map +1 -1
- package/lib/typescript/types/screen.types.d.ts +0 -30
- package/lib/typescript/types/screen.types.d.ts.map +1 -1
- package/lib/typescript/types/stack.types.d.ts +2 -4
- package/lib/typescript/types/stack.types.d.ts.map +1 -1
- package/lib/typescript/utils/animation/animate-to-progress.d.ts +3 -2
- package/lib/typescript/utils/animation/animate-to-progress.d.ts.map +1 -1
- package/lib/typescript/utils/bounds/helpers/create-bounds-accessor-core.d.ts.map +1 -1
- package/lib/typescript/utils/create-provider.d.ts +17 -9
- package/lib/typescript/utils/create-provider.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/adapters/with-screen-transitions/context.tsx +5 -0
- package/src/adapters/with-screen-transitions/stack-layout.tsx +20 -7
- package/src/animation/snap-to.ts +1 -0
- package/src/components/activity/variants/activity-screen.tsx +46 -13
- package/src/components/boundary/components/boundary-target.tsx +2 -2
- package/src/components/boundary/hooks/lifecycles/use-initial-destination-measurement.ts +28 -14
- package/src/components/boundary/hooks/lifecycles/use-refresh-boundary.ts +7 -24
- package/src/components/boundary/hooks/use-measurer.ts +7 -16
- package/src/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.ts +103 -0
- package/src/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.ts +86 -61
- package/src/components/boundary/portal/components/boundary-portal/components/host.tsx +12 -14
- package/src/components/boundary/portal/components/boundary-portal/helpers/active-pair.ts +36 -0
- package/src/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.ts +114 -0
- package/src/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts +9 -46
- package/src/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.ts +13 -20
- package/src/components/boundary/portal/utils/naming.ts +11 -0
- package/src/components/boundary/providers/boundary-root.provider.tsx +8 -11
- package/src/components/boundary/utils/measured-bounds.ts +29 -32
- package/src/components/boundary/utils/refresh-signals.ts +23 -26
- package/src/components/create-transition-aware-component.tsx +11 -36
- package/src/components/screen-container/hooks/use-backdrop-pointer-events.ts +10 -8
- package/src/components/screen-container/hooks/use-content-layout.ts +10 -10
- package/src/components/screen-container/layers/backdrop.tsx +20 -9
- package/src/components/screen-container/layers/content.tsx +20 -21
- package/src/components/screen-container/layers/surface-container.tsx +4 -4
- package/src/components/screen-lifecycle/hooks/use-close-transition-intent.ts +19 -9
- package/src/components/screen-lifecycle/hooks/use-open-transition-intent.ts +5 -2
- package/src/components/screen-lifecycle/hooks/use-transition-start-controller.ts +6 -0
- package/src/components/screen-lifecycle/index.tsx +3 -2
- package/src/components/stack-view.tsx +117 -56
- package/src/configs/presets.ts +13 -13
- package/src/constants.ts +1 -0
- package/src/hooks/navigation/use-navigation-helpers.ts +9 -8
- package/src/hooks/navigation/use-screen-state.ts +4 -2
- package/src/providers/screen/animation/animation.provider.tsx +170 -173
- package/src/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.tsx +4 -2
- package/src/providers/screen/animation/helpers/accessors/use-build-transition-accessor.ts +2 -2
- package/src/providers/screen/animation/helpers/hydrate-transition-state/index.ts +4 -21
- package/src/providers/screen/animation/helpers/pipeline.ts +6 -10
- package/src/providers/screen/animation/index.tsx +1 -1
- package/src/providers/screen/animation/use-screen-animation.tsx +2 -2
- package/src/providers/screen/descriptors/descriptors.provider.tsx +83 -72
- package/src/providers/screen/descriptors/index.tsx +0 -2
- package/src/providers/screen/gestures/gestures.provider.tsx +72 -63
- package/src/providers/screen/gestures/hooks/use-screen-gesture-config.ts +7 -8
- package/src/providers/screen/gestures/hooks/use-screen-gesture.ts +2 -2
- package/src/providers/screen/gestures/hooks/use-stable-runtime-config.ts +4 -2
- package/src/providers/screen/gestures/index.tsx +1 -1
- package/src/providers/screen/gestures/ownership/shadowing-claims.ts +3 -4
- package/src/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.ts +16 -8
- package/src/providers/screen/gestures/pan/activation/use-pan-activation.ts +7 -2
- package/src/providers/screen/gestures/pan/behavior/pan-lifecycle.ts +8 -16
- package/src/providers/screen/gestures/pan/behavior/pan-reset.ts +14 -0
- package/src/providers/screen/gestures/pan/use-build-pan-gesture.ts +2 -2
- package/src/providers/screen/gestures/pinch/behavior/pinch-lifecycle.ts +12 -11
- package/src/providers/screen/gestures/pinch/behavior/pinch-reset.ts +10 -0
- package/src/providers/screen/gestures/pinch/use-build-pinch-gesture.ts +2 -2
- package/src/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.tsx +4 -4
- package/src/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.ts +4 -4
- package/src/providers/screen/options/index.ts +1 -1
- package/src/providers/screen/options/options.provider.tsx +24 -28
- package/src/providers/screen/screen-composer.tsx +9 -2
- package/src/providers/screen/styles/constants.ts +8 -6
- package/src/providers/screen/styles/helpers/resolve-interpolator-style-handoff.ts +138 -0
- package/src/providers/screen/styles/helpers/resolve-slot-styles/index.ts +71 -4
- package/src/providers/screen/styles/helpers/select-interpolator-frame.ts +41 -0
- package/src/providers/screen/styles/helpers/visibility-gate.ts +25 -0
- package/src/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +99 -55
- package/src/providers/screen/styles/hooks/use-maybe-block-visibility.tsx +4 -2
- package/src/providers/screen/styles/index.tsx +0 -1
- package/src/providers/screen/styles/slot.provider.tsx +62 -48
- package/src/providers/stack/blank-stack-state/helpers/build-blank-stack-state.ts +4 -17
- package/src/providers/stack/blank-stack.provider.tsx +66 -75
- package/src/providers/stack/core.provider.tsx +53 -79
- package/src/providers/stack/direct.provider.tsx +76 -57
- package/src/stores/animation.store.ts +19 -0
- package/src/types/blank-stack.types.ts +1 -4
- package/src/types/gesture.types.ts +11 -0
- package/src/types/providers/blank-stack-provider.types.ts +8 -22
- package/src/types/providers/direct-stack.types.ts +2 -1
- package/src/types/screen.types.ts +0 -32
- package/src/types/stack.types.ts +2 -4
- package/src/utils/animation/animate-to-progress.ts +18 -18
- package/src/utils/bounds/helpers/create-bounds-accessor-core.ts +7 -0
- package/src/utils/create-provider.tsx +105 -136
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/helpers/host-name.js +0 -14
- package/lib/commonjs/components/boundary/portal/components/boundary-portal/helpers/host-name.js.map +0 -1
- package/lib/commonjs/components/boundary/portal/utils/handoff-target.js +0 -33
- package/lib/commonjs/components/boundary/portal/utils/handoff-target.js.map +0 -1
- package/lib/commonjs/hooks/use-stable-callback-value.js +0 -69
- package/lib/commonjs/hooks/use-stable-callback-value.js.map +0 -1
- package/lib/commonjs/providers/register-bounds.provider.js +0 -312
- package/lib/commonjs/providers/register-bounds.provider.js.map +0 -1
- package/lib/commonjs/providers/screen/origin.provider.js +0 -41
- package/lib/commonjs/providers/screen/origin.provider.js.map +0 -1
- package/lib/module/components/boundary/portal/components/boundary-portal/helpers/host-name.js +0 -9
- package/lib/module/components/boundary/portal/components/boundary-portal/helpers/host-name.js.map +0 -1
- package/lib/module/components/boundary/portal/utils/handoff-target.js +0 -28
- package/lib/module/components/boundary/portal/utils/handoff-target.js.map +0 -1
- package/lib/module/hooks/use-stable-callback-value.js +0 -64
- package/lib/module/hooks/use-stable-callback-value.js.map +0 -1
- package/lib/module/providers/register-bounds.provider.js +0 -308
- package/lib/module/providers/register-bounds.provider.js.map +0 -1
- package/lib/module/providers/screen/origin.provider.js +0 -33
- package/lib/module/providers/screen/origin.provider.js.map +0 -1
- package/lib/typescript/components/boundary/portal/components/boundary-portal/helpers/host-name.d.ts +0 -2
- package/lib/typescript/components/boundary/portal/components/boundary-portal/helpers/host-name.d.ts.map +0 -1
- package/lib/typescript/components/boundary/portal/utils/handoff-target.d.ts +0 -12
- package/lib/typescript/components/boundary/portal/utils/handoff-target.d.ts.map +0 -1
- package/lib/typescript/hooks/use-stable-callback-value.d.ts +0 -13
- package/lib/typescript/hooks/use-stable-callback-value.d.ts.map +0 -1
- package/lib/typescript/providers/register-bounds.provider.d.ts +0 -25
- package/lib/typescript/providers/register-bounds.provider.d.ts.map +0 -1
- package/lib/typescript/providers/screen/origin.provider.d.ts +0 -11
- package/lib/typescript/providers/screen/origin.provider.d.ts.map +0 -1
- package/src/components/boundary/portal/components/boundary-portal/helpers/host-name.ts +0 -10
- package/src/components/boundary/portal/utils/handoff-target.ts +0 -48
- package/src/hooks/use-stable-callback-value.ts +0 -72
- package/src/providers/register-bounds.provider.tsx +0 -401
- package/src/providers/screen/origin.provider.tsx +0 -38
|
@@ -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":["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":["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":["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":["components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -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,
|
package/lib/module/components/boundary/portal/components/boundary-portal/components/host.js.map
CHANGED
|
@@ -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":["components/boundary/portal/components/boundary-portal/components/host.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/components/boundary/portal/components/boundary-portal/helpers/active-pair.js
ADDED
|
@@ -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
|
package/lib/module/components/boundary/portal/components/boundary-portal/helpers/active-pair.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getLinkKeyFromTag","hasActiveBoundaryPortalLink","boundaryId","pairsState","sourcePairKey","pair","linkKey","link","links","source","group","groups","activeId"],"sourceRoot":"../../../../../../../../src","sources":["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,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useLayoutEffect, useRef, useState } from "react";
|
|
4
|
+
import { useAnimatedReaction } from "react-native-reanimated";
|
|
5
|
+
import { scheduleOnRN } from "react-native-worklets";
|
|
6
|
+
import { pairs } from "../../../../../../stores/bounds/internals/state";
|
|
7
|
+
import { createBoundaryPortalHostName } from "../../../utils/naming";
|
|
8
|
+
import { hasActiveBoundaryPortalLink } from "../helpers/active-pair";
|
|
9
|
+
import { mountPortalBoundaryHost, unmountPortalBoundaryHostByName } from "../stores/portal-boundary-host.store";
|
|
10
|
+
export const useActivePortalBoundaryHost = ({
|
|
11
|
+
boundaryId,
|
|
12
|
+
currentScreenKey,
|
|
13
|
+
escapeHostKey,
|
|
14
|
+
localStylesMaps,
|
|
15
|
+
portalHostName,
|
|
16
|
+
portalHostReady,
|
|
17
|
+
slotsMap,
|
|
18
|
+
sourcePairKey
|
|
19
|
+
}) => {
|
|
20
|
+
const [hasActiveLink, setHasActiveLink] = useState(false);
|
|
21
|
+
const sourcePairKeyRef = useRef(sourcePairKey);
|
|
22
|
+
sourcePairKeyRef.current = sourcePairKey;
|
|
23
|
+
const updateActiveLink = useCallback((observedSourcePairKey, nextHasActiveLink) => {
|
|
24
|
+
if (sourcePairKeyRef.current !== observedSourcePairKey) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
setHasActiveLink(nextHasActiveLink);
|
|
28
|
+
}, []);
|
|
29
|
+
useAnimatedReaction(() => {
|
|
30
|
+
"worklet";
|
|
31
|
+
|
|
32
|
+
return hasActiveBoundaryPortalLink({
|
|
33
|
+
boundaryId,
|
|
34
|
+
pairsState: pairs.get(),
|
|
35
|
+
sourcePairKey
|
|
36
|
+
});
|
|
37
|
+
}, (nextHasActiveLink, previousHasActiveLink) => {
|
|
38
|
+
"worklet";
|
|
39
|
+
|
|
40
|
+
if (nextHasActiveLink === previousHasActiveLink) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
scheduleOnRN(updateActiveLink, sourcePairKey, nextHasActiveLink);
|
|
44
|
+
});
|
|
45
|
+
useLayoutEffect(() => {
|
|
46
|
+
if (!hasActiveLink || !sourcePairKey || !escapeHostKey) {
|
|
47
|
+
portalHostName.set(null);
|
|
48
|
+
portalHostReady.set(false);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
const nextPortalHostName = createBoundaryPortalHostName(escapeHostKey, boundaryId, sourcePairKey);
|
|
52
|
+
mountPortalBoundaryHost({
|
|
53
|
+
boundaryId,
|
|
54
|
+
hostKey: escapeHostKey,
|
|
55
|
+
localStylesMaps,
|
|
56
|
+
pairKey: sourcePairKey,
|
|
57
|
+
portalHostName: nextPortalHostName,
|
|
58
|
+
portalHostReady,
|
|
59
|
+
screenKey: currentScreenKey,
|
|
60
|
+
slotsMap
|
|
61
|
+
});
|
|
62
|
+
portalHostName.set(nextPortalHostName);
|
|
63
|
+
return () => {
|
|
64
|
+
portalHostName.set(null);
|
|
65
|
+
portalHostReady.set(false);
|
|
66
|
+
unmountPortalBoundaryHostByName(nextPortalHostName);
|
|
67
|
+
};
|
|
68
|
+
}, [boundaryId, currentScreenKey, escapeHostKey, localStylesMaps, portalHostName, portalHostReady, sourcePairKey, slotsMap, hasActiveLink]);
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=use-active-portal-boundary-host.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useLayoutEffect","useRef","useState","useAnimatedReaction","scheduleOnRN","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":["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,SAA2BC,mBAAmB,QAAQ,yBAAyB;AAC/E,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,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;EAEDtB,mBAAmB,CAClB,MAAM;IACL,SAAS;;IACT,OAAOI,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;IAEAxB,YAAY,CAACmB,gBAAgB,EAAEL,aAAa,EAAEO,iBAAiB,CAAC;EACjE,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":[]}
|
|
@@ -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":["components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts"],"mappings":"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","ignoreList":[]}
|