react-native-screen-transitions 3.12.0 → 3.13.0-beta.1
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/shared/adapters/with-screen-transitions/stack-layout.js +1 -2
- package/lib/commonjs/shared/adapters/with-screen-transitions/stack-layout.js.map +1 -1
- package/lib/commonjs/shared/components/activity/helpers.js +50 -1
- package/lib/commonjs/shared/components/activity/helpers.js.map +1 -1
- package/lib/commonjs/shared/components/activity/variants/activity-screen.js +17 -68
- package/lib/commonjs/shared/components/activity/variants/activity-screen.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/components/boundary-lifecycle.js +0 -3
- package/lib/commonjs/shared/components/boundary/components/boundary-lifecycle.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-boundary-measurement-request.js +69 -0
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-boundary-measurement-request.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-boundary-presence.js +11 -10
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-boundary-presence.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js +3 -19
- package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js +8 -17
- 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 +27 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +27 -11
- 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/portal-boundary-host.js +8 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/attachment.js +19 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/attachment.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/host-readiness.js +18 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/host-readiness.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js +22 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +10 -10
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +19 -12
- 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/providers/boundary-root.provider.js +6 -6
- package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
- package/lib/commonjs/shared/components/overlay/helpers/create-overlay-interpolator-frame.js +9 -2
- package/lib/commonjs/shared/components/overlay/helpers/create-overlay-interpolator-frame.js.map +1 -1
- package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js +16 -4
- package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
- package/lib/commonjs/shared/components/overlay/hooks/use-overlay-slot.js +11 -6
- package/lib/commonjs/shared/components/overlay/hooks/use-overlay-slot.js.map +1 -1
- package/lib/commonjs/shared/components/overlay/variations/overlay-host.js +5 -4
- package/lib/commonjs/shared/components/overlay/variations/overlay-host.js.map +1 -1
- package/lib/commonjs/shared/components/screen-container/layers/content.js +1 -3
- package/lib/commonjs/shared/components/screen-container/layers/content.js.map +1 -1
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +8 -6
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
- package/lib/commonjs/shared/factories/screen-topology/create-screen-topology.js +147 -0
- package/lib/commonjs/shared/factories/screen-topology/create-screen-topology.js.map +1 -0
- package/lib/commonjs/shared/factories/screen-topology/index.js +45 -0
- package/lib/commonjs/shared/factories/screen-topology/index.js.map +1 -0
- package/lib/commonjs/shared/factories/screen-topology/types.js +2 -0
- package/lib/commonjs/shared/factories/screen-topology/types.js.map +1 -0
- package/lib/commonjs/shared/factories/screen-topology/use-screen-relationships.js +15 -0
- package/lib/commonjs/shared/factories/screen-topology/use-screen-relationships.js.map +1 -0
- package/lib/commonjs/shared/factories/screen-topology/worklet.js +55 -0
- package/lib/commonjs/shared/factories/screen-topology/worklet.js.map +1 -0
- package/lib/commonjs/shared/hooks/navigation/use-screen-state.js.map +1 -1
- package/lib/commonjs/shared/hooks/navigation/use-stack.js +16 -16
- package/lib/commonjs/shared/hooks/navigation/use-stack.js.map +1 -1
- package/lib/commonjs/shared/providers/helpers/measured-bounds-writes.js +4 -0
- package/lib/commonjs/shared/providers/helpers/measured-bounds-writes.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/animation.provider.js +26 -95
- package/lib/commonjs/shared/providers/screen/animation/animation.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +6 -52
- 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 +5 -1
- 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 +12 -12
- package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/read-screen-animation-revisions.js +4 -13
- package/lib/commonjs/shared/providers/screen/animation/helpers/read-screen-animation-revisions.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/stack-progress.js +10 -26
- package/lib/commonjs/shared/providers/screen/animation/helpers/stack-progress.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/use-build-transition-state.js +0 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/use-build-transition-state.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/index.js +6 -0
- package/lib/commonjs/shared/providers/screen/animation/index.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/use-screen-animation.js +8 -7
- package/lib/commonjs/shared/providers/screen/animation/use-screen-animation.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/descriptors/descriptors.provider.js +62 -15
- package/lib/commonjs/shared/providers/screen/descriptors/descriptors.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js +3 -4
- package/lib/commonjs/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/gestures.provider.js +24 -19
- 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 -3
- 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 +2 -3
- package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/index.js +8 -2
- package/lib/commonjs/shared/providers/screen/gestures/index.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.js +11 -18
- package/lib/commonjs/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/ownership/resolve-ownership.js +5 -7
- package/lib/commonjs/shared/providers/screen/gestures/ownership/resolve-ownership.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pan/activation/use-pan-activation.js +4 -1
- 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 +1 -0
- 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-release.js +9 -2
- package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-release.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js +5 -8
- 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 +5 -4
- package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js +1 -3
- package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js +4 -4
- package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/constants.js +2 -1
- package/lib/commonjs/shared/providers/screen/styles/constants.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/helpers/visibility-block-ownership.js +19 -0
- package/lib/commonjs/shared/providers/screen/styles/helpers/visibility-block-ownership.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/styles/hooks/slot-resolvers.js +4 -2
- package/lib/commonjs/shared/providers/screen/styles/hooks/slot-resolvers.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +5 -8
- 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 +35 -15
- 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 +8 -2
- package/lib/commonjs/shared/providers/screen/styles/index.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/slot.provider.js +23 -16
- package/lib/commonjs/shared/providers/screen/styles/slot.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/use-current-screen-relationships.js +14 -0
- package/lib/commonjs/shared/providers/screen/use-current-screen-relationships.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/blank-stack.provider.js +13 -5
- package/lib/commonjs/shared/providers/stack/blank-stack.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/stack/core.provider.js +1 -3
- package/lib/commonjs/shared/providers/stack/core.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/stack/direct.provider.js +2 -5
- package/lib/commonjs/shared/providers/stack/direct.provider.js.map +1 -1
- package/lib/commonjs/shared/stores/animation.store.js +0 -2
- package/lib/commonjs/shared/stores/animation.store.js.map +1 -1
- package/lib/commonjs/shared/stores/bounds/helpers/link-pairs.helpers.js +11 -1
- package/lib/commonjs/shared/stores/bounds/helpers/link-pairs.helpers.js.map +1 -1
- package/lib/commonjs/shared/stores/bounds/internals/clear.js +6 -0
- package/lib/commonjs/shared/stores/bounds/internals/clear.js.map +1 -1
- package/lib/commonjs/shared/stores/bounds/internals/coordinator.js +312 -0
- package/lib/commonjs/shared/stores/bounds/internals/coordinator.js.map +1 -0
- package/lib/commonjs/shared/stores/bounds/internals/entries.js +0 -27
- package/lib/commonjs/shared/stores/bounds/internals/entries.js.map +1 -1
- package/lib/commonjs/shared/stores/bounds/internals/links.js +22 -32
- package/lib/commonjs/shared/stores/bounds/internals/links.js.map +1 -1
- package/lib/commonjs/shared/stores/bounds/internals/state.js +4 -1
- package/lib/commonjs/shared/stores/bounds/internals/state.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/helpers/create-bounds-accessor-core.js +7 -3
- package/lib/commonjs/shared/utils/bounds/helpers/create-bounds-accessor-core.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/helpers/create-link-accessor.js +11 -0
- package/lib/commonjs/shared/utils/bounds/helpers/create-link-accessor.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/helpers/prepare-bound-styles.js +6 -2
- package/lib/commonjs/shared/utils/bounds/helpers/prepare-bound-styles.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/helpers/resolve-bounds-pair-key.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/helpers/styles/compute.js +11 -5
- package/lib/commonjs/shared/utils/bounds/helpers/styles/compute.js.map +1 -1
- package/lib/commonjs/shared/utils/create-provider.js +51 -100
- package/lib/commonjs/shared/utils/create-provider.js.map +1 -1
- package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js +1 -2
- package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js.map +1 -1
- package/lib/module/shared/components/activity/helpers.js +48 -0
- package/lib/module/shared/components/activity/helpers.js.map +1 -1
- package/lib/module/shared/components/activity/variants/activity-screen.js +18 -69
- package/lib/module/shared/components/activity/variants/activity-screen.js.map +1 -1
- package/lib/module/shared/components/boundary/components/boundary-lifecycle.js +0 -3
- package/lib/module/shared/components/boundary/components/boundary-lifecycle.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-boundary-measurement-request.js +64 -0
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-boundary-measurement-request.js.map +1 -0
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-boundary-presence.js +11 -10
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-boundary-presence.js.map +1 -1
- package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js +3 -19
- package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
- package/lib/module/shared/components/boundary/hooks/use-measurer.js +9 -18
- 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 +24 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +29 -13
- 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/portal-boundary-host.js +8 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/attachment.js +14 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/attachment.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/host-readiness.js +13 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/host-readiness.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js +19 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +10 -10
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +20 -13
- 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/providers/boundary-root.provider.js +5 -6
- package/lib/module/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
- package/lib/module/shared/components/overlay/helpers/create-overlay-interpolator-frame.js +7 -1
- package/lib/module/shared/components/overlay/helpers/create-overlay-interpolator-frame.js.map +1 -1
- package/lib/module/shared/components/overlay/helpers/get-active-overlay.js +16 -4
- package/lib/module/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
- package/lib/module/shared/components/overlay/hooks/use-overlay-slot.js +12 -7
- package/lib/module/shared/components/overlay/hooks/use-overlay-slot.js.map +1 -1
- package/lib/module/shared/components/overlay/variations/overlay-host.js +7 -6
- package/lib/module/shared/components/overlay/variations/overlay-host.js.map +1 -1
- package/lib/module/shared/components/screen-container/layers/content.js +2 -3
- package/lib/module/shared/components/screen-container/layers/content.js.map +1 -1
- package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +9 -7
- package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
- package/lib/module/shared/factories/screen-topology/create-screen-topology.js +142 -0
- package/lib/module/shared/factories/screen-topology/create-screen-topology.js.map +1 -0
- package/lib/module/shared/factories/screen-topology/index.js +6 -0
- package/lib/module/shared/factories/screen-topology/index.js.map +1 -0
- package/lib/module/shared/factories/screen-topology/types.js +2 -0
- package/lib/module/shared/factories/screen-topology/types.js.map +1 -0
- package/lib/module/shared/factories/screen-topology/use-screen-relationships.js +10 -0
- package/lib/module/shared/factories/screen-topology/use-screen-relationships.js.map +1 -0
- package/lib/module/shared/factories/screen-topology/worklet.js +48 -0
- package/lib/module/shared/factories/screen-topology/worklet.js.map +1 -0
- package/lib/module/shared/hooks/navigation/use-screen-state.js.map +1 -1
- package/lib/module/shared/hooks/navigation/use-stack.js +17 -18
- package/lib/module/shared/hooks/navigation/use-stack.js.map +1 -1
- package/lib/module/shared/providers/helpers/measured-bounds-writes.js +4 -0
- package/lib/module/shared/providers/helpers/measured-bounds-writes.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/animation.provider.js +25 -95
- package/lib/module/shared/providers/screen/animation/animation.provider.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +6 -52
- 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 +5 -1
- 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 +14 -14
- package/lib/module/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/helpers/read-screen-animation-revisions.js +4 -13
- package/lib/module/shared/providers/screen/animation/helpers/read-screen-animation-revisions.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/helpers/stack-progress.js +9 -24
- package/lib/module/shared/providers/screen/animation/helpers/stack-progress.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/helpers/use-build-transition-state.js +0 -1
- package/lib/module/shared/providers/screen/animation/helpers/use-build-transition-state.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 +9 -8
- package/lib/module/shared/providers/screen/animation/use-screen-animation.js.map +1 -1
- package/lib/module/shared/providers/screen/descriptors/descriptors.provider.js +66 -18
- package/lib/module/shared/providers/screen/descriptors/descriptors.provider.js.map +1 -1
- package/lib/module/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js +3 -4
- package/lib/module/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/gestures.provider.js +21 -17
- 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 +3 -3
- 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 +3 -4
- package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture.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/gesture-ownership-bridge.js +13 -20
- package/lib/module/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/ownership/resolve-ownership.js +5 -7
- package/lib/module/shared/providers/screen/gestures/ownership/resolve-ownership.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pan/activation/use-pan-activation.js +4 -1
- 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 +1 -0
- 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-release.js +9 -2
- package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-release.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js +1 -0
- package/lib/module/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js +4 -8
- 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 +7 -6
- package/lib/module/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js +1 -3
- package/lib/module/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/shared/policy.js +4 -4
- package/lib/module/shared/providers/screen/gestures/shared/policy.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/constants.js +2 -1
- package/lib/module/shared/providers/screen/styles/constants.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/helpers/visibility-block-ownership.js +14 -0
- package/lib/module/shared/providers/screen/styles/helpers/visibility-block-ownership.js.map +1 -0
- package/lib/module/shared/providers/screen/styles/hooks/slot-resolvers.js +5 -3
- package/lib/module/shared/providers/screen/styles/hooks/slot-resolvers.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +5 -8
- 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 +35 -15
- 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 +20 -14
- package/lib/module/shared/providers/screen/styles/slot.provider.js.map +1 -1
- package/lib/module/shared/providers/screen/use-current-screen-relationships.js +9 -0
- package/lib/module/shared/providers/screen/use-current-screen-relationships.js.map +1 -0
- package/lib/module/shared/providers/stack/blank-stack.provider.js +12 -5
- package/lib/module/shared/providers/stack/blank-stack.provider.js.map +1 -1
- package/lib/module/shared/providers/stack/core.provider.js +1 -3
- package/lib/module/shared/providers/stack/core.provider.js.map +1 -1
- package/lib/module/shared/providers/stack/direct.provider.js +2 -5
- package/lib/module/shared/providers/stack/direct.provider.js.map +1 -1
- package/lib/module/shared/stores/animation.store.js +0 -2
- package/lib/module/shared/stores/animation.store.js.map +1 -1
- package/lib/module/shared/stores/bounds/helpers/link-pairs.helpers.js +9 -0
- package/lib/module/shared/stores/bounds/helpers/link-pairs.helpers.js.map +1 -1
- package/lib/module/shared/stores/bounds/internals/clear.js +7 -1
- package/lib/module/shared/stores/bounds/internals/clear.js.map +1 -1
- package/lib/module/shared/stores/bounds/internals/coordinator.js +300 -0
- package/lib/module/shared/stores/bounds/internals/coordinator.js.map +1 -0
- package/lib/module/shared/stores/bounds/internals/entries.js +1 -27
- package/lib/module/shared/stores/bounds/internals/entries.js.map +1 -1
- package/lib/module/shared/stores/bounds/internals/links.js +24 -32
- package/lib/module/shared/stores/bounds/internals/links.js.map +1 -1
- package/lib/module/shared/stores/bounds/internals/state.js +3 -0
- package/lib/module/shared/stores/bounds/internals/state.js.map +1 -1
- package/lib/module/shared/utils/bounds/helpers/create-bounds-accessor-core.js +7 -3
- package/lib/module/shared/utils/bounds/helpers/create-bounds-accessor-core.js.map +1 -1
- package/lib/module/shared/utils/bounds/helpers/create-link-accessor.js +11 -0
- package/lib/module/shared/utils/bounds/helpers/create-link-accessor.js.map +1 -1
- package/lib/module/shared/utils/bounds/helpers/prepare-bound-styles.js +6 -2
- package/lib/module/shared/utils/bounds/helpers/prepare-bound-styles.js.map +1 -1
- package/lib/module/shared/utils/bounds/helpers/resolve-bounds-pair-key.js.map +1 -1
- package/lib/module/shared/utils/bounds/helpers/styles/compute.js +11 -5
- package/lib/module/shared/utils/bounds/helpers/styles/compute.js.map +1 -1
- package/lib/module/shared/utils/create-provider.js +51 -100
- package/lib/module/shared/utils/create-provider.js.map +1 -1
- package/lib/typescript/shared/adapters/with-screen-transitions/stack-layout.d.ts.map +1 -1
- package/lib/typescript/shared/components/activity/helpers.d.ts +16 -0
- package/lib/typescript/shared/components/activity/helpers.d.ts.map +1 -1
- package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts +2 -4
- package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/components/boundary-lifecycle.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/{use-initial-source-measurement.d.ts → use-boundary-measurement-request.d.ts} +4 -3
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-boundary-measurement-request.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-boundary-presence.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/hooks/use-boundary-measurement.d.ts +1 -3
- package/lib/typescript/shared/components/boundary/hooks/use-boundary-measurement.d.ts.map +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 +12 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.d.ts.map +1 -1
- 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/portal-boundary-host.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/attachment.d.ts +8 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/attachment.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/host-readiness.d.ts +6 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/host-readiness.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.d.ts +4 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts +2 -3
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts.map +1 -1
- 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/stores/portal-boundary-host.store.d.ts +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts +3 -0
- package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/types.d.ts +1 -1
- package/lib/typescript/shared/components/boundary/types.d.ts.map +1 -1
- package/lib/typescript/shared/components/overlay/helpers/create-overlay-interpolator-frame.d.ts +1 -0
- package/lib/typescript/shared/components/overlay/helpers/create-overlay-interpolator-frame.d.ts.map +1 -1
- package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts.map +1 -1
- package/lib/typescript/shared/components/overlay/hooks/use-overlay-slot.d.ts +2 -1
- package/lib/typescript/shared/components/overlay/hooks/use-overlay-slot.d.ts.map +1 -1
- package/lib/typescript/shared/components/overlay/variations/overlay-host.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 +1 -1
- package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts.map +1 -1
- package/lib/typescript/shared/factories/screen-topology/create-screen-topology.d.ts +4 -0
- package/lib/typescript/shared/factories/screen-topology/create-screen-topology.d.ts.map +1 -0
- package/lib/typescript/shared/factories/screen-topology/index.d.ts +5 -0
- package/lib/typescript/shared/factories/screen-topology/index.d.ts.map +1 -0
- package/lib/typescript/shared/factories/screen-topology/types.d.ts +20 -0
- package/lib/typescript/shared/factories/screen-topology/types.d.ts.map +1 -0
- package/lib/typescript/shared/factories/screen-topology/use-screen-relationships.d.ts +5 -0
- package/lib/typescript/shared/factories/screen-topology/use-screen-relationships.d.ts.map +1 -0
- package/lib/typescript/shared/factories/screen-topology/worklet.d.ts +5 -0
- package/lib/typescript/shared/factories/screen-topology/worklet.d.ts.map +1 -0
- package/lib/typescript/shared/hooks/navigation/use-screen-state.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/navigation/use-stack.d.ts +2 -0
- package/lib/typescript/shared/hooks/navigation/use-stack.d.ts.map +1 -1
- package/lib/typescript/shared/providers/helpers/measured-bounds-writes.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/animation/animation.provider.d.ts +14 -12
- 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-transition-accessor.d.ts +4 -4
- package/lib/typescript/shared/providers/screen/animation/helpers/accessors/use-build-transition-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/hydrate-transition-state/types.d.ts +0 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/types.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/helpers/read-screen-animation-revisions.d.ts +2 -2
- package/lib/typescript/shared/providers/screen/animation/helpers/read-screen-animation-revisions.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/stack-progress.d.ts +5 -2
- package/lib/typescript/shared/providers/screen/animation/helpers/stack-progress.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/use-build-transition-state.d.ts +0 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/use-build-transition-state.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/animation/types.d.ts +1 -13
- package/lib/typescript/shared/providers/screen/animation/types.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts +5 -2
- package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.d.ts +5 -4
- package/lib/typescript/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/gestures.provider.d.ts +16 -4
- 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 +2 -2
- 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-screen-gesture.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/gesture-ownership-bridge.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/ownership/resolve-ownership.d.ts +2 -3
- package/lib/typescript/shared/providers/screen/gestures/ownership/resolve-ownership.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-release.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.d.ts +5 -3
- package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.d.ts +2 -2
- package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/shared/policy.d.ts +3 -3
- package/lib/typescript/shared/providers/screen/gestures/shared/policy.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/types.d.ts +5 -2
- package/lib/typescript/shared/providers/screen/gestures/types.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/constants.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/helpers/visibility-block-ownership.d.ts +10 -0
- package/lib/typescript/shared/providers/screen/styles/helpers/visibility-block-ownership.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/styles/hooks/slot-resolvers.d.ts.map +1 -1
- 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 +8 -2
- 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 +9 -3
- package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/use-current-screen-relationships.d.ts +5 -0
- package/lib/typescript/shared/providers/screen/use-current-screen-relationships.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/blank-stack.provider.d.ts +4 -1
- package/lib/typescript/shared/providers/stack/blank-stack.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/stack/core.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/stack/direct.provider.d.ts.map +1 -1
- package/lib/typescript/shared/stores/animation.store.d.ts +0 -1
- package/lib/typescript/shared/stores/animation.store.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds/helpers/link-pairs.helpers.d.ts +1 -0
- package/lib/typescript/shared/stores/bounds/helpers/link-pairs.helpers.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds/internals/clear.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds/internals/coordinator.d.ts +36 -0
- package/lib/typescript/shared/stores/bounds/internals/coordinator.d.ts.map +1 -0
- package/lib/typescript/shared/stores/bounds/internals/entries.d.ts +1 -2
- package/lib/typescript/shared/stores/bounds/internals/entries.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds/internals/links.d.ts +1 -3
- package/lib/typescript/shared/stores/bounds/internals/links.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds/internals/state.d.ts +3 -1
- package/lib/typescript/shared/stores/bounds/internals/state.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds/types.d.ts +12 -1
- package/lib/typescript/shared/stores/bounds/types.d.ts.map +1 -1
- package/lib/typescript/shared/types/providers/blank-stack-provider.types.d.ts +1 -0
- package/lib/typescript/shared/types/providers/blank-stack-provider.types.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/bounds/helpers/create-link-accessor.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/helpers/prepare-bound-styles.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/helpers/resolve-bounds-pair-key.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/helpers/styles/compute.d.ts.map +1 -1
- package/lib/typescript/shared/utils/create-provider.d.ts +24 -24
- package/lib/typescript/shared/utils/create-provider.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/shared/adapters/with-screen-transitions/stack-layout.tsx +1 -2
- package/src/shared/components/activity/helpers.ts +59 -0
- package/src/shared/components/activity/variants/activity-screen.tsx +29 -94
- package/src/shared/components/boundary/components/boundary-lifecycle.tsx +0 -6
- package/src/shared/components/boundary/components/boundary-target.tsx +2 -2
- package/src/shared/components/boundary/hooks/lifecycles/use-boundary-measurement-request.ts +102 -0
- package/src/shared/components/boundary/hooks/lifecycles/use-boundary-presence.ts +20 -11
- package/src/shared/components/boundary/hooks/use-boundary-measurement.ts +3 -22
- package/src/shared/components/boundary/hooks/use-measurer.ts +8 -22
- package/src/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.ts +40 -0
- package/src/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.ts +73 -22
- package/src/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.tsx +10 -1
- package/src/shared/components/boundary/portal/components/boundary-portal/helpers/attachment.ts +19 -0
- package/src/shared/components/boundary/portal/components/boundary-portal/helpers/host-readiness.ts +14 -0
- package/src/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.ts +36 -1
- package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.ts +22 -13
- package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts +28 -15
- package/src/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.ts +1 -1
- package/src/shared/components/boundary/providers/boundary-root.provider.tsx +10 -6
- package/src/shared/components/boundary/types.ts +1 -1
- package/src/shared/components/overlay/helpers/create-overlay-interpolator-frame.ts +14 -1
- package/src/shared/components/overlay/helpers/get-active-overlay.ts +29 -4
- package/src/shared/components/overlay/hooks/use-overlay-slot.ts +26 -8
- package/src/shared/components/overlay/variations/overlay-host.tsx +11 -6
- package/src/shared/components/screen-container/layers/content.tsx +3 -4
- package/src/shared/components/screen-lifecycle/hooks/use-close-transition-intent.ts +8 -12
- package/src/shared/factories/screen-topology/create-screen-topology.ts +199 -0
- package/src/shared/factories/screen-topology/index.ts +16 -0
- package/src/shared/factories/screen-topology/types.ts +22 -0
- package/src/shared/factories/screen-topology/use-screen-relationships.ts +15 -0
- package/src/shared/factories/screen-topology/worklet.ts +60 -0
- package/src/shared/hooks/navigation/use-screen-state.ts +2 -7
- package/src/shared/hooks/navigation/use-stack.tsx +28 -31
- package/src/shared/providers/helpers/measured-bounds-writes.ts +5 -0
- package/src/shared/providers/screen/animation/animation.provider.tsx +73 -206
- package/src/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.ts +10 -81
- package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/index.ts +18 -3
- package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/types.ts +0 -1
- package/src/shared/providers/screen/animation/helpers/pipeline.ts +19 -22
- package/src/shared/providers/screen/animation/helpers/read-screen-animation-revisions.ts +6 -30
- package/src/shared/providers/screen/animation/helpers/stack-progress.ts +13 -32
- package/src/shared/providers/screen/animation/helpers/use-build-transition-state.ts +0 -2
- package/src/shared/providers/screen/animation/index.tsx +1 -0
- package/src/shared/providers/screen/animation/types.ts +1 -23
- package/src/shared/providers/screen/animation/use-screen-animation.tsx +10 -14
- package/src/shared/providers/screen/descriptors/descriptors.provider.tsx +110 -23
- package/src/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.ts +6 -6
- package/src/shared/providers/screen/gestures/gestures.provider.tsx +96 -85
- package/src/shared/providers/screen/gestures/hooks/use-screen-gesture-config.ts +4 -4
- package/src/shared/providers/screen/gestures/hooks/use-screen-gesture.ts +3 -4
- package/src/shared/providers/screen/gestures/index.tsx +2 -1
- package/src/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.tsx +16 -29
- package/src/shared/providers/screen/gestures/ownership/resolve-ownership.ts +5 -8
- package/src/shared/providers/screen/gestures/pan/activation/use-pan-activation.ts +2 -3
- package/src/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.ts +1 -0
- package/src/shared/providers/screen/gestures/pan/behavior/pan-release.ts +12 -2
- package/src/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.ts +1 -0
- package/src/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.tsx +6 -9
- package/src/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.ts +11 -7
- package/src/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.ts +12 -12
- package/src/shared/providers/screen/gestures/shared/policy.ts +7 -7
- package/src/shared/providers/screen/gestures/types.ts +6 -2
- package/src/shared/providers/screen/styles/constants.ts +1 -0
- package/src/shared/providers/screen/styles/helpers/visibility-block-ownership.ts +16 -0
- package/src/shared/providers/screen/styles/hooks/slot-resolvers.tsx +10 -3
- package/src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +7 -17
- package/src/shared/providers/screen/styles/hooks/use-maybe-block-visibility.tsx +40 -15
- package/src/shared/providers/screen/styles/index.tsx +2 -1
- package/src/shared/providers/screen/styles/slot.provider.tsx +30 -15
- package/src/shared/providers/screen/use-current-screen-relationships.ts +10 -0
- package/src/shared/providers/stack/blank-stack.provider.tsx +19 -6
- package/src/shared/providers/stack/core.provider.tsx +0 -1
- package/src/shared/providers/stack/direct.provider.tsx +2 -4
- package/src/shared/stores/animation.store.ts +0 -3
- package/src/shared/stores/bounds/helpers/link-pairs.helpers.ts +12 -0
- package/src/shared/stores/bounds/internals/clear.ts +12 -1
- package/src/shared/stores/bounds/internals/coordinator.ts +415 -0
- package/src/shared/stores/bounds/internals/entries.ts +1 -38
- package/src/shared/stores/bounds/internals/links.ts +28 -38
- package/src/shared/stores/bounds/internals/state.ts +10 -1
- package/src/shared/stores/bounds/types.ts +18 -1
- package/src/shared/types/providers/blank-stack-provider.types.ts +1 -0
- package/src/shared/utils/bounds/helpers/create-bounds-accessor-core.ts +8 -3
- package/src/shared/utils/bounds/helpers/create-link-accessor.ts +11 -0
- package/src/shared/utils/bounds/helpers/prepare-bound-styles.ts +3 -2
- package/src/shared/utils/bounds/helpers/resolve-bounds-pair-key.ts +0 -1
- package/src/shared/utils/bounds/helpers/styles/compute.ts +12 -5
- package/src/shared/utils/create-provider.tsx +135 -200
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +0 -177
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +0 -1
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.js +0 -49
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.js.map +0 -1
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js +0 -69
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +0 -1
- package/lib/commonjs/shared/components/boundary/utils/destination-signals.js +0 -68
- package/lib/commonjs/shared/components/boundary/utils/destination-signals.js.map +0 -1
- package/lib/commonjs/shared/components/boundary/utils/refresh-signals.js +0 -97
- package/lib/commonjs/shared/components/boundary/utils/refresh-signals.js.map +0 -1
- package/lib/commonjs/shared/components/boundary/utils/source-signals.js +0 -43
- package/lib/commonjs/shared/components/boundary/utils/source-signals.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/descriptors/helpers/get-ancestor-keys.js +0 -29
- package/lib/commonjs/shared/providers/screen/descriptors/helpers/get-ancestor-keys.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/shared/ancestors.js +0 -23
- package/lib/commonjs/shared/providers/screen/gestures/shared/ancestors.js.map +0 -1
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +0 -173
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +0 -1
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.js +0 -44
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.js.map +0 -1
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js +0 -64
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +0 -1
- package/lib/module/shared/components/boundary/utils/destination-signals.js +0 -63
- package/lib/module/shared/components/boundary/utils/destination-signals.js.map +0 -1
- package/lib/module/shared/components/boundary/utils/refresh-signals.js +0 -92
- package/lib/module/shared/components/boundary/utils/refresh-signals.js.map +0 -1
- package/lib/module/shared/components/boundary/utils/source-signals.js +0 -38
- package/lib/module/shared/components/boundary/utils/source-signals.js.map +0 -1
- package/lib/module/shared/providers/screen/descriptors/helpers/get-ancestor-keys.js +0 -25
- package/lib/module/shared/providers/screen/descriptors/helpers/get-ancestor-keys.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/shared/ancestors.js +0 -19
- package/lib/module/shared/providers/screen/gestures/shared/ancestors.js.map +0 -1
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts +0 -10
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts.map +0 -1
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.d.ts.map +0 -1
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.d.ts +0 -10
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.d.ts.map +0 -1
- package/lib/typescript/shared/components/boundary/utils/destination-signals.d.ts +0 -16
- package/lib/typescript/shared/components/boundary/utils/destination-signals.d.ts.map +0 -1
- package/lib/typescript/shared/components/boundary/utils/refresh-signals.d.ts +0 -19
- package/lib/typescript/shared/components/boundary/utils/refresh-signals.d.ts.map +0 -1
- package/lib/typescript/shared/components/boundary/utils/source-signals.d.ts +0 -14
- package/lib/typescript/shared/components/boundary/utils/source-signals.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/descriptors/helpers/get-ancestor-keys.d.ts +0 -6
- package/lib/typescript/shared/providers/screen/descriptors/helpers/get-ancestor-keys.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/shared/ancestors.d.ts +0 -11
- package/lib/typescript/shared/providers/screen/gestures/shared/ancestors.d.ts.map +0 -1
- package/src/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.ts +0 -267
- package/src/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.ts +0 -51
- package/src/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.ts +0 -90
- package/src/shared/components/boundary/utils/destination-signals.ts +0 -75
- package/src/shared/components/boundary/utils/refresh-signals.ts +0 -164
- package/src/shared/components/boundary/utils/source-signals.ts +0 -51
- package/src/shared/providers/screen/descriptors/helpers/get-ancestor-keys.ts +0 -28
- package/src/shared/providers/screen/gestures/shared/ancestors.ts +0 -27
|
@@ -25,11 +25,11 @@ import type {
|
|
|
25
25
|
import { computeClaimedDirections } from "../ownership/compute-claimed-directions";
|
|
26
26
|
import { resolveOwnership } from "../ownership/resolve-ownership";
|
|
27
27
|
import type {
|
|
28
|
-
GestureContextType,
|
|
29
28
|
PanGesturePolicy,
|
|
30
29
|
PinchGesturePolicy,
|
|
31
30
|
ScreenGestureConfig,
|
|
32
31
|
ScreenGestureParticipation,
|
|
32
|
+
ScreenGestureSource,
|
|
33
33
|
} from "../types";
|
|
34
34
|
import {
|
|
35
35
|
getGestureDirectionEntries,
|
|
@@ -305,12 +305,12 @@ export const resolvePinchPolicy = (
|
|
|
305
305
|
const resolveGestureParticipation = ({
|
|
306
306
|
options,
|
|
307
307
|
isFirstKey,
|
|
308
|
-
|
|
308
|
+
ancestorGestures,
|
|
309
309
|
isRemovePrevented,
|
|
310
310
|
}: {
|
|
311
311
|
options: GesturePolicyOptions;
|
|
312
312
|
isFirstKey: boolean;
|
|
313
|
-
|
|
313
|
+
ancestorGestures: readonly ScreenGestureSource[];
|
|
314
314
|
isRemovePrevented: boolean;
|
|
315
315
|
}): ScreenGestureParticipation => {
|
|
316
316
|
const canDismiss =
|
|
@@ -342,25 +342,25 @@ const resolveGestureParticipation = ({
|
|
|
342
342
|
canTrackGesture,
|
|
343
343
|
effectiveSnapPoints,
|
|
344
344
|
claimedDirections,
|
|
345
|
-
ownershipStatus: resolveOwnership(claimedDirections,
|
|
345
|
+
ownershipStatus: resolveOwnership(claimedDirections, ancestorGestures),
|
|
346
346
|
};
|
|
347
347
|
};
|
|
348
348
|
|
|
349
349
|
export const resolveScreenGestureConfig = ({
|
|
350
350
|
options,
|
|
351
351
|
isFirstKey,
|
|
352
|
-
|
|
352
|
+
ancestorGestures,
|
|
353
353
|
isRemovePrevented = false,
|
|
354
354
|
}: {
|
|
355
355
|
options: ScreenTransitionConfig;
|
|
356
356
|
isFirstKey: boolean;
|
|
357
|
-
|
|
357
|
+
ancestorGestures: readonly ScreenGestureSource[];
|
|
358
358
|
isRemovePrevented?: boolean;
|
|
359
359
|
}): ScreenGestureConfig => {
|
|
360
360
|
const participation = resolveGestureParticipation({
|
|
361
361
|
options,
|
|
362
362
|
isFirstKey,
|
|
363
|
-
|
|
363
|
+
ancestorGestures,
|
|
364
364
|
isRemovePrevented,
|
|
365
365
|
});
|
|
366
366
|
const hasSnapPoints = participation.effectiveSnapPoints.hasSnapPoints;
|
|
@@ -71,17 +71,20 @@ export const NO_DIRECTION_CLAIMS: DirectionClaimMap = {
|
|
|
71
71
|
"horizontal-inverted": null,
|
|
72
72
|
};
|
|
73
73
|
|
|
74
|
-
export interface
|
|
74
|
+
export interface ScreenGestureSource {
|
|
75
75
|
routeKey: string;
|
|
76
76
|
detectorGesture: ComposedGesture;
|
|
77
77
|
panGesture: PanGesture;
|
|
78
78
|
pinchGesture: PinchGesture;
|
|
79
79
|
scrollState: SharedValue<ScrollGestureState | null>;
|
|
80
|
-
gestureContext: GestureContextType | null;
|
|
81
80
|
claimedDirections: ClaimedDirections;
|
|
82
81
|
childDirectionClaims: SharedValue<DirectionClaimMap>;
|
|
83
82
|
}
|
|
84
83
|
|
|
84
|
+
export interface GestureContextType extends ScreenGestureSource {
|
|
85
|
+
ancestorGestures: readonly ScreenGestureSource[];
|
|
86
|
+
}
|
|
87
|
+
|
|
85
88
|
export interface ScreenGestureParticipation {
|
|
86
89
|
/** Whether this route is the first route in its stack. First routes never track gestures. */
|
|
87
90
|
isFirstKey: boolean;
|
|
@@ -172,6 +175,7 @@ export interface PinchTrackState {
|
|
|
172
175
|
export interface PanReleaseResult {
|
|
173
176
|
target: number;
|
|
174
177
|
shouldDismiss: boolean;
|
|
178
|
+
isCancelled: boolean;
|
|
175
179
|
initialVelocity: number;
|
|
176
180
|
commitProgress?: number;
|
|
177
181
|
transitionSpec: TransitionSpec | undefined;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
type VisibilityBlockOwnershipParams = {
|
|
2
|
+
localBlocked: boolean;
|
|
3
|
+
ancestorBlocked: boolean;
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
export const resolveVisibilityBlockOwnership = ({
|
|
7
|
+
localBlocked,
|
|
8
|
+
ancestorBlocked,
|
|
9
|
+
}: VisibilityBlockOwnershipParams) => {
|
|
10
|
+
"worklet";
|
|
11
|
+
|
|
12
|
+
return {
|
|
13
|
+
appliesOffset: localBlocked && !ancestorBlocked,
|
|
14
|
+
effectiveBlocked: localBlocked || ancestorBlocked,
|
|
15
|
+
};
|
|
16
|
+
};
|
|
@@ -6,14 +6,21 @@ import {
|
|
|
6
6
|
composeSlotStyleWithLocalTransform,
|
|
7
7
|
getLocalTransformForSlotComposition,
|
|
8
8
|
} from "../helpers/compose-slot-style";
|
|
9
|
-
import {
|
|
9
|
+
import { useOptionalScreenSlotStore } from "../slot.provider";
|
|
10
10
|
|
|
11
11
|
const useCurrentScreenSlotsMap = () => {
|
|
12
12
|
const route = useRoute();
|
|
13
|
-
const
|
|
13
|
+
const localSlotsMap = useOptionalScreenSlotStore(
|
|
14
|
+
(store) => store?.slotsMap ?? null,
|
|
15
|
+
);
|
|
16
|
+
const keyedSlotsMap = useOptionalScreenSlotStore(
|
|
17
|
+
localSlotsMap ? null : route.key,
|
|
18
|
+
(store) => store.slotsMap,
|
|
19
|
+
);
|
|
20
|
+
const slotsMap = localSlotsMap ?? keyedSlotsMap;
|
|
14
21
|
|
|
15
22
|
if (!slotsMap) {
|
|
16
|
-
throw new Error(`
|
|
23
|
+
throw new Error(`ScreenSlotStore is unavailable for route "${route.key}"`);
|
|
17
24
|
}
|
|
18
25
|
|
|
19
26
|
return slotsMap;
|
|
@@ -148,9 +148,6 @@ export const useInterpolatedStylesMap = ({
|
|
|
148
148
|
const screenInterpolatorProps = useScreenAnimationStore(
|
|
149
149
|
(store) => store.screenInterpolatorProps,
|
|
150
150
|
);
|
|
151
|
-
const screenInterpolatorPropsRevision = useScreenAnimationStore(
|
|
152
|
-
(store) => store.screenInterpolatorPropsRevision,
|
|
153
|
-
);
|
|
154
151
|
const selectedInterpolatorOptions = useScreenAnimationStore(
|
|
155
152
|
(store) => store.selectedInterpolatorOptions,
|
|
156
153
|
);
|
|
@@ -160,17 +157,15 @@ export const useInterpolatedStylesMap = ({
|
|
|
160
157
|
const currentInterpolator = useScreenAnimationStore(
|
|
161
158
|
(store) => store.currentInterpolator,
|
|
162
159
|
);
|
|
163
|
-
const
|
|
164
|
-
(store) => store.
|
|
160
|
+
const transitionSources = useScreenAnimationStore(
|
|
161
|
+
(store) => store.transitionSources,
|
|
165
162
|
);
|
|
166
|
-
const
|
|
167
|
-
(store) => store.
|
|
163
|
+
const transitionOriginIndex = useScreenAnimationStore(
|
|
164
|
+
(store) => store.transitionOriginIndex,
|
|
168
165
|
);
|
|
169
166
|
const transition = useBuildTransitionAccessor({
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
ancestorScreenAnimationSources,
|
|
173
|
-
descendantScreenAnimationSources,
|
|
167
|
+
transitionSources,
|
|
168
|
+
transitionOriginIndex,
|
|
174
169
|
});
|
|
175
170
|
const hasCurrentInterpolator = !!currentInterpolator;
|
|
176
171
|
const { closing: currentClosing, entering: currentEntering } =
|
|
@@ -242,12 +237,7 @@ export const useInterpolatedStylesMap = ({
|
|
|
242
237
|
|
|
243
238
|
const localStylesMaps = useDerivedValue<LocalStyleLayers>(() => {
|
|
244
239
|
"worklet";
|
|
245
|
-
readScreenAnimationRevisions(
|
|
246
|
-
screenInterpolatorPropsRevision,
|
|
247
|
-
ancestorScreenAnimationSources,
|
|
248
|
-
descendantScreenAnimationSources,
|
|
249
|
-
interpolatorSharedValues,
|
|
250
|
-
);
|
|
240
|
+
readScreenAnimationRevisions(transitionSources, interpolatorSharedValues);
|
|
251
241
|
const props = screenInterpolatorProps.get();
|
|
252
242
|
|
|
253
243
|
const { current, next } = props;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { useWindowDimensions } from "react-native";
|
|
2
2
|
import {
|
|
3
|
+
type SharedValue,
|
|
3
4
|
useAnimatedProps,
|
|
4
5
|
useAnimatedReaction,
|
|
5
6
|
useAnimatedStyle,
|
|
@@ -10,9 +11,18 @@ import { SystemStore } from "../../../../stores/system.store";
|
|
|
10
11
|
import { getVisibilityBlockOffset } from "../../../../utils/visibility-block-offset";
|
|
11
12
|
import { useDescriptorsStore } from "../../descriptors";
|
|
12
13
|
import { hasCloseTransitionFinished } from "../helpers/transition-visual-state";
|
|
14
|
+
import { resolveVisibilityBlockOwnership } from "../helpers/visibility-block-ownership";
|
|
13
15
|
import { resolveScreenVisibilityGate } from "../helpers/visibility-gate";
|
|
14
16
|
|
|
15
|
-
|
|
17
|
+
type Params = {
|
|
18
|
+
ancestorVisibilityBlocked: SharedValue<boolean> | null;
|
|
19
|
+
isFloatingOverlay?: boolean;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export const useMaybeBlockVisibility = ({
|
|
23
|
+
ancestorVisibilityBlocked,
|
|
24
|
+
isFloatingOverlay,
|
|
25
|
+
}: Params) => {
|
|
16
26
|
const { height } = useWindowDimensions();
|
|
17
27
|
const currentScreenKey = useDescriptorsStore(
|
|
18
28
|
(store) => store.derivations.currentScreenKey,
|
|
@@ -25,29 +35,39 @@ export const useMaybeBlockVisibility = (isFloatingOverlay?: boolean) => {
|
|
|
25
35
|
} = SystemStore.getBag(currentScreenKey);
|
|
26
36
|
|
|
27
37
|
const hasVisibilityGateOpened = useSharedValue(false);
|
|
28
|
-
const
|
|
38
|
+
const localVisibilityBlocked = useSharedValue(!isFloatingOverlay);
|
|
39
|
+
const effectiveVisibilityBlocked = useSharedValue(!isFloatingOverlay);
|
|
29
40
|
|
|
30
41
|
useAnimatedReaction(
|
|
31
42
|
() => {
|
|
32
43
|
"worklet";
|
|
33
44
|
|
|
34
|
-
return
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
45
|
+
return {
|
|
46
|
+
gate: resolveScreenVisibilityGate({
|
|
47
|
+
isFloatingOverlay,
|
|
48
|
+
hasVisibilityGateOpened: hasVisibilityGateOpened.get(),
|
|
49
|
+
pendingLifecycleStartBlockCount:
|
|
50
|
+
pendingLifecycleStartBlockCount.get(),
|
|
51
|
+
pendingLifecycleRequestKind: pendingLifecycleRequestKind.get(),
|
|
52
|
+
animationProgress: animationProgress.get(),
|
|
53
|
+
entering: entering.get(),
|
|
54
|
+
}),
|
|
55
|
+
ancestorBlocked: ancestorVisibilityBlocked?.get() ?? false,
|
|
56
|
+
};
|
|
42
57
|
},
|
|
43
|
-
(gate) => {
|
|
58
|
+
({ gate, ancestorBlocked }) => {
|
|
44
59
|
"worklet";
|
|
45
60
|
|
|
46
61
|
if (gate.shouldOpenGate) {
|
|
47
62
|
hasVisibilityGateOpened.set(true);
|
|
48
63
|
}
|
|
49
64
|
|
|
50
|
-
|
|
65
|
+
const ownership = resolveVisibilityBlockOwnership({
|
|
66
|
+
localBlocked: gate.shouldBlock,
|
|
67
|
+
ancestorBlocked,
|
|
68
|
+
});
|
|
69
|
+
localVisibilityBlocked.set(gate.shouldBlock);
|
|
70
|
+
effectiveVisibilityBlocked.set(ownership.effectiveBlocked);
|
|
51
71
|
},
|
|
52
72
|
);
|
|
53
73
|
|
|
@@ -66,10 +86,15 @@ export const useMaybeBlockVisibility = (isFloatingOverlay?: boolean) => {
|
|
|
66
86
|
};
|
|
67
87
|
}
|
|
68
88
|
|
|
89
|
+
const ownership = resolveVisibilityBlockOwnership({
|
|
90
|
+
localBlocked: localVisibilityBlocked.get(),
|
|
91
|
+
ancestorBlocked: ancestorVisibilityBlocked?.get() ?? false,
|
|
92
|
+
});
|
|
93
|
+
|
|
69
94
|
return {
|
|
70
95
|
transform: [
|
|
71
96
|
{
|
|
72
|
-
translateY:
|
|
97
|
+
translateY: ownership.appliesOffset ? offset : 0,
|
|
73
98
|
},
|
|
74
99
|
],
|
|
75
100
|
};
|
|
@@ -78,7 +103,7 @@ export const useMaybeBlockVisibility = (isFloatingOverlay?: boolean) => {
|
|
|
78
103
|
const animatedProps = useAnimatedProps(() => {
|
|
79
104
|
"worklet";
|
|
80
105
|
return {
|
|
81
|
-
pointerEvents:
|
|
106
|
+
pointerEvents: effectiveVisibilityBlocked.get()
|
|
82
107
|
? ("none" as const)
|
|
83
108
|
: ("box-none" as const),
|
|
84
109
|
};
|
|
@@ -87,6 +112,6 @@ export const useMaybeBlockVisibility = (isFloatingOverlay?: boolean) => {
|
|
|
87
112
|
return {
|
|
88
113
|
animatedStyle,
|
|
89
114
|
animatedProps,
|
|
90
|
-
|
|
115
|
+
visibilityBlocked: effectiveVisibilityBlocked,
|
|
91
116
|
};
|
|
92
117
|
};
|
|
@@ -8,6 +8,7 @@ import type {
|
|
|
8
8
|
import type { NormalizedTransitionInterpolatedStyle } from "../../../types/animation.types";
|
|
9
9
|
import createProvider from "../../../utils/create-provider";
|
|
10
10
|
import { useDescriptorsStore } from "../descriptors";
|
|
11
|
+
import { useCurrentScreenRelationships } from "../use-current-screen-relationships";
|
|
11
12
|
import { useInterpolatedStylesMap } from "./hooks/use-interpolated-style-maps";
|
|
12
13
|
import { useMaybeBlockVisibility } from "./hooks/use-maybe-block-visibility";
|
|
13
14
|
import { useResolvedStylesMap } from "./hooks/use-resolved-slot-style-map";
|
|
@@ -30,36 +31,49 @@ export type ScreenSlotContextValue = {
|
|
|
30
31
|
visibilityBlocked: SharedValue<boolean>;
|
|
31
32
|
};
|
|
32
33
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
34
|
+
const createScreenSlotProvider = createProvider("ScreenSlot", {
|
|
35
|
+
global: true,
|
|
36
|
+
})<Props, ScreenSlotContextValue>;
|
|
37
|
+
|
|
38
|
+
export const {
|
|
39
|
+
ScreenSlotProvider,
|
|
40
|
+
useOptionalScreenSlotStore,
|
|
41
|
+
useScreenSlotStore,
|
|
42
|
+
}: ReturnType<typeof createScreenSlotProvider> = createScreenSlotProvider(
|
|
43
|
+
({ children }) => {
|
|
41
44
|
const currentScreenKey = useDescriptorsStore(
|
|
42
45
|
(store) => store.derivations.currentScreenKey,
|
|
43
46
|
);
|
|
44
|
-
const {
|
|
45
|
-
|
|
47
|
+
const { parentScreenKey } = useCurrentScreenRelationships();
|
|
48
|
+
const ancestorStylesMap = useOptionalScreenSlotStore(
|
|
49
|
+
parentScreenKey,
|
|
50
|
+
(store) => store.slotsMap,
|
|
51
|
+
);
|
|
52
|
+
const ancestorVisibilityBlocked = useOptionalScreenSlotStore(
|
|
53
|
+
parentScreenKey,
|
|
54
|
+
(store) => store.visibilityBlocked,
|
|
55
|
+
);
|
|
56
|
+
const { animatedStyle, animatedProps, visibilityBlocked } =
|
|
57
|
+
useMaybeBlockVisibility({
|
|
58
|
+
ancestorVisibilityBlocked: ancestorVisibilityBlocked ?? null,
|
|
59
|
+
});
|
|
46
60
|
|
|
47
61
|
const { interpolatorReady, localStylesMaps } = useInterpolatedStylesMap({
|
|
48
62
|
enabled: true,
|
|
49
|
-
visibilityBlocked
|
|
63
|
+
visibilityBlocked,
|
|
50
64
|
});
|
|
51
65
|
|
|
52
66
|
const slotsMap = useResolvedStylesMap({
|
|
53
67
|
localStylesMaps,
|
|
54
|
-
ancestorStylesMap,
|
|
68
|
+
ancestorStylesMap: ancestorStylesMap ?? undefined,
|
|
55
69
|
});
|
|
56
70
|
const value = useMemo(
|
|
57
71
|
() => ({
|
|
58
72
|
interpolatorReady,
|
|
59
73
|
slotsMap,
|
|
60
|
-
visibilityBlocked
|
|
74
|
+
visibilityBlocked,
|
|
61
75
|
}),
|
|
62
|
-
[interpolatorReady,
|
|
76
|
+
[interpolatorReady, slotsMap, visibilityBlocked],
|
|
63
77
|
);
|
|
64
78
|
const content = useMemo(
|
|
65
79
|
() => (
|
|
@@ -78,7 +92,8 @@ export const { ScreenSlotProvider, useScreenSlotStore: useScreenSlots } =
|
|
|
78
92
|
value,
|
|
79
93
|
children: content,
|
|
80
94
|
};
|
|
81
|
-
}
|
|
95
|
+
},
|
|
96
|
+
);
|
|
82
97
|
|
|
83
98
|
const styles = StyleSheet.create({
|
|
84
99
|
container: { flex: 1 },
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { useScreenRelationships } from "../../factories/screen-topology";
|
|
2
|
+
import { useDescriptorsStore } from "./descriptors";
|
|
3
|
+
|
|
4
|
+
export const useCurrentScreenRelationships = () => {
|
|
5
|
+
const screenKey = useDescriptorsStore(
|
|
6
|
+
(store) => store.derivations.currentScreenKey,
|
|
7
|
+
);
|
|
8
|
+
|
|
9
|
+
return useScreenRelationships(screenKey);
|
|
10
|
+
};
|
|
@@ -42,11 +42,14 @@ type BlankStackStoreProviderProps = {
|
|
|
42
42
|
value: BlankStackStoreValue<BaseStackDescriptor>;
|
|
43
43
|
};
|
|
44
44
|
|
|
45
|
-
const {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
45
|
+
const {
|
|
46
|
+
BlankStackProvider: BlankStackStoreProvider,
|
|
47
|
+
useBlankStackStore,
|
|
48
|
+
useOptionalBlankStackStore,
|
|
49
|
+
} = createProvider("BlankStack")<
|
|
50
|
+
BlankStackStoreProviderProps,
|
|
51
|
+
BlankStackStoreValue<BaseStackDescriptor>
|
|
52
|
+
>(({ children, value }) => ({ children, value }));
|
|
50
53
|
|
|
51
54
|
function BlankStackProvider({
|
|
52
55
|
state: stackState,
|
|
@@ -68,6 +71,15 @@ function BlankStackProvider({
|
|
|
68
71
|
() => createScenesByKey(state.scenes),
|
|
69
72
|
[state.scenes],
|
|
70
73
|
);
|
|
74
|
+
const paintDriverRouteKeyByRouteKey = useMemo(() => {
|
|
75
|
+
const paintDrivers = new Map<string, string>();
|
|
76
|
+
|
|
77
|
+
for (let index = 0; index + 2 < state.routeKeys.length; index++) {
|
|
78
|
+
paintDrivers.set(state.routeKeys[index], state.routeKeys[index + 2]);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
return paintDrivers;
|
|
82
|
+
}, [state.routeKeys]);
|
|
71
83
|
|
|
72
84
|
const stackValue = useMemo<StackContextValue>(
|
|
73
85
|
() => ({
|
|
@@ -95,6 +107,7 @@ function BlankStackProvider({
|
|
|
95
107
|
routes: state.routes,
|
|
96
108
|
scenes: state.scenes,
|
|
97
109
|
scenesByKey,
|
|
110
|
+
paintDriverRouteKeyByRouteKey,
|
|
98
111
|
focusedIndex,
|
|
99
112
|
requestDismiss,
|
|
100
113
|
shouldShowFloatOverlay: state.shouldShowFloatOverlay,
|
|
@@ -111,4 +124,4 @@ function BlankStackProvider({
|
|
|
111
124
|
}
|
|
112
125
|
|
|
113
126
|
export type { BlankStackProviderProps, BlankStackStoreValue };
|
|
114
|
-
export { BlankStackProvider, useBlankStackStore };
|
|
127
|
+
export { BlankStackProvider, useBlankStackStore, useOptionalBlankStackStore };
|
|
@@ -45,7 +45,6 @@ const StackCoreRoot = memo(function StackCoreRoot({
|
|
|
45
45
|
|
|
46
46
|
export const { StackCoreProvider, useStackCoreStore } = createProvider(
|
|
47
47
|
"StackCore",
|
|
48
|
-
{ guarded: true },
|
|
49
48
|
)<StackCoreProviderProps, StackCoreContextValue>(({ config, children }) => {
|
|
50
49
|
const {
|
|
51
50
|
TRANSITIONS_ALWAYS_ON = false,
|
|
@@ -23,7 +23,7 @@ type DirectStackStoreProviderProps = {
|
|
|
23
23
|
};
|
|
24
24
|
|
|
25
25
|
const { DirectStackProvider: DirectStackStoreProvider, useDirectStackStore } =
|
|
26
|
-
createProvider("DirectStack"
|
|
26
|
+
createProvider("DirectStack")<
|
|
27
27
|
DirectStackStoreProviderProps,
|
|
28
28
|
DirectStackContextValue
|
|
29
29
|
>(({ children, value }) => ({ children, value }));
|
|
@@ -51,7 +51,7 @@ function DirectStackProvider({
|
|
|
51
51
|
useMemo(() => {
|
|
52
52
|
const allRoutes = state.routes.concat(state.preloadedRoutes);
|
|
53
53
|
const scenes: DirectStackScene[] = [];
|
|
54
|
-
const routeKeys
|
|
54
|
+
const routeKeys = state.routes.map((route) => route.key);
|
|
55
55
|
const allDescriptors: NativeStackDescriptorMap = {
|
|
56
56
|
...preloadedDescriptors,
|
|
57
57
|
...descriptors,
|
|
@@ -85,8 +85,6 @@ function DirectStackProvider({
|
|
|
85
85
|
descriptor,
|
|
86
86
|
isPreloaded,
|
|
87
87
|
});
|
|
88
|
-
routeKeys.push(route.key);
|
|
89
|
-
|
|
90
88
|
if (
|
|
91
89
|
!shouldShowFloatOverlay &&
|
|
92
90
|
descriptor.options?.enableTransitions === true &&
|
|
@@ -10,7 +10,6 @@ import { createStore } from "../utils/create-store";
|
|
|
10
10
|
export type AnimationStoreMap = {
|
|
11
11
|
transitionProgress: SharedValue<number>;
|
|
12
12
|
visualProgress: SharedValue<number>;
|
|
13
|
-
stackProgress: SharedValue<number>;
|
|
14
13
|
willAnimate: SharedValue<number>;
|
|
15
14
|
progressAnimating: SharedValue<number>;
|
|
16
15
|
progressSettled: SharedValue<number>;
|
|
@@ -39,7 +38,6 @@ function createAnimationBag(): AnimationStoreMap {
|
|
|
39
38
|
return {
|
|
40
39
|
transitionProgress: makeMutable(0),
|
|
41
40
|
visualProgress: makeMutable(0),
|
|
42
|
-
stackProgress: makeMutable(0),
|
|
43
41
|
willAnimate: makeMutable(0),
|
|
44
42
|
closing: makeMutable(0),
|
|
45
43
|
progressAnimating: makeMutable(0),
|
|
@@ -58,7 +56,6 @@ export const AnimationStore = createStore<AnimationStoreMap>({
|
|
|
58
56
|
disposeBag: (bag) => {
|
|
59
57
|
cancelAnimation(bag.transitionProgress);
|
|
60
58
|
cancelAnimation(bag.visualProgress);
|
|
61
|
-
cancelAnimation(bag.stackProgress);
|
|
62
59
|
cancelAnimation(bag.willAnimate);
|
|
63
60
|
cancelAnimation(bag.progressAnimating);
|
|
64
61
|
cancelAnimation(bag.progressSettled);
|
|
@@ -137,6 +137,18 @@ export const ensurePairSourceRequests = (
|
|
|
137
137
|
return pair.sourceRequests;
|
|
138
138
|
};
|
|
139
139
|
|
|
140
|
+
export const ensurePairDestinationRequests = (
|
|
141
|
+
state: LinkPairsState,
|
|
142
|
+
pairKey: ScreenPairKey,
|
|
143
|
+
): Record<LinkKey, true> => {
|
|
144
|
+
"worklet";
|
|
145
|
+
const pair = ensurePairState(state, pairKey);
|
|
146
|
+
if (!pair.destinationRequests) {
|
|
147
|
+
pair.destinationRequests = {};
|
|
148
|
+
}
|
|
149
|
+
return pair.destinationRequests;
|
|
150
|
+
};
|
|
151
|
+
|
|
140
152
|
export const removePairLink = (
|
|
141
153
|
state: LinkPairsState,
|
|
142
154
|
pairKey: ScreenPairKey,
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import { hasAnyKeys } from "../helpers/keys";
|
|
2
2
|
import { isScreenPairKeyForScreen } from "../helpers/link-pairs.helpers";
|
|
3
3
|
import type { LinkPairsState, ScreenKey } from "../types";
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
type BoundaryEntriesState,
|
|
6
|
+
boundaryRegistry,
|
|
7
|
+
boundsScreens,
|
|
8
|
+
pairs,
|
|
9
|
+
} from "./state";
|
|
5
10
|
|
|
6
11
|
function clear(screenKey: ScreenKey) {
|
|
7
12
|
"worklet";
|
|
@@ -30,6 +35,12 @@ function clear(screenKey: ScreenKey) {
|
|
|
30
35
|
|
|
31
36
|
return state;
|
|
32
37
|
});
|
|
38
|
+
|
|
39
|
+
boundsScreens.modify((state) => {
|
|
40
|
+
"worklet";
|
|
41
|
+
delete state[screenKey];
|
|
42
|
+
return state;
|
|
43
|
+
});
|
|
33
44
|
}
|
|
34
45
|
|
|
35
46
|
export { clear };
|