react-native-screen-transitions 3.13.0-beta.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 +16 -67
- package/lib/commonjs/shared/components/activity/variants/activity-screen.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/components/boundary-target.js +1 -1
- package/lib/commonjs/shared/components/boundary/components/boundary-target.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js +2 -1
- package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +2 -4
- 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/hooks/use-boundary-portal-attachment.js +1 -6
- 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/screen/animation/animation.provider.js +26 -98
- 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/pipeline.js +14 -25
- 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 +40 -25
- 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 +1 -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/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/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/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 +17 -19
- 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/internals/coordinator.js +23 -9
- package/lib/commonjs/shared/stores/bounds/internals/coordinator.js.map +1 -1
- package/lib/commonjs/shared/stores/bounds/internals/links.js +2 -2
- package/lib/commonjs/shared/stores/bounds/internals/links.js.map +1 -1
- package/lib/commonjs/shared/stores/bounds/internals/state.js +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 +17 -68
- package/lib/module/shared/components/activity/variants/activity-screen.js.map +1 -1
- package/lib/module/shared/components/boundary/components/boundary-target.js +2 -2
- package/lib/module/shared/components/boundary/components/boundary-target.js.map +1 -1
- package/lib/module/shared/components/boundary/hooks/use-measurer.js +3 -2
- package/lib/module/shared/components/boundary/hooks/use-measurer.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +3 -5
- 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/hooks/use-boundary-portal-attachment.js +2 -7
- 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/screen/animation/animation.provider.js +25 -98
- 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/pipeline.js +16 -27
- 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 +43 -27
- 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 +1 -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/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/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/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 +14 -16
- 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/internals/coordinator.js +18 -4
- package/lib/module/shared/stores/bounds/internals/coordinator.js.map +1 -1
- package/lib/module/shared/stores/bounds/internals/links.js +1 -1
- package/lib/module/shared/stores/bounds/internals/links.js.map +1 -1
- package/lib/module/shared/stores/bounds/internals/state.js +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/native-stack/views/useHeaderConfigProps.d.ts +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/hooks/use-measurer.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/hooks/use-boundary-portal-attachment.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-placeholder-styles.d.ts +2 -2
- 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/create-transition-aware-component.d.ts +6 -5
- package/lib/typescript/shared/components/create-transition-aware-component.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 +3 -2
- 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/index.d.ts +703 -651
- package/lib/typescript/shared/index.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/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 +1 -2
- 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 +1 -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/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 +4 -2
- package/lib/typescript/shared/providers/screen/gestures/types.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/hooks/slot-resolvers.d.ts +4 -4
- 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 +2 -2
- 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 -4
- 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/internals/coordinator.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds/internals/links.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds/internals/state.d.ts +1 -1
- package/lib/typescript/shared/stores/bounds/internals/state.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds/types.d.ts +0 -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/types/screen.types.d.ts +0 -9
- package/lib/typescript/shared/types/screen.types.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 +28 -93
- package/src/shared/components/boundary/components/boundary-target.tsx +2 -2
- package/src/shared/components/boundary/hooks/use-measurer.ts +3 -2
- package/src/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.ts +6 -3
- package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts +2 -6
- package/src/shared/components/boundary/providers/boundary-root.provider.tsx +10 -6
- 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/screen/animation/animation.provider.tsx +73 -212
- 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/types.ts +0 -1
- package/src/shared/providers/screen/animation/helpers/pipeline.ts +45 -70
- 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 +56 -35
- package/src/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.ts +0 -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/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 +5 -2
- 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/index.tsx +2 -1
- package/src/shared/providers/screen/styles/slot.provider.tsx +25 -24
- 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/internals/coordinator.ts +20 -8
- package/src/shared/stores/bounds/internals/links.ts +1 -1
- package/src/shared/stores/bounds/internals/state.ts +1 -1
- package/src/shared/stores/bounds/types.ts +0 -1
- package/src/shared/types/providers/blank-stack-provider.types.ts +1 -0
- package/src/shared/types/screen.types.ts +0 -10
- package/src/shared/utils/create-provider.tsx +135 -200
- package/lib/commonjs/shared/providers/screen/animation/helpers/interpolator-participation.js +0 -9
- package/lib/commonjs/shared/providers/screen/animation/helpers/interpolator-participation.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/descriptors/helpers/derive-structural-ancestor-keys.js +0 -12
- package/lib/commonjs/shared/providers/screen/descriptors/helpers/derive-structural-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/commonjs/shared/stores/bounds/internals/screen-graph.js +0 -45
- package/lib/commonjs/shared/stores/bounds/internals/screen-graph.js.map +0 -1
- package/lib/module/shared/providers/screen/animation/helpers/interpolator-participation.js +0 -4
- package/lib/module/shared/providers/screen/animation/helpers/interpolator-participation.js.map +0 -1
- package/lib/module/shared/providers/screen/descriptors/helpers/derive-structural-ancestor-keys.js +0 -7
- package/lib/module/shared/providers/screen/descriptors/helpers/derive-structural-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/module/shared/stores/bounds/internals/screen-graph.js +0 -39
- package/lib/module/shared/stores/bounds/internals/screen-graph.js.map +0 -1
- package/lib/typescript/shared/providers/screen/animation/helpers/interpolator-participation.d.ts +0 -3
- package/lib/typescript/shared/providers/screen/animation/helpers/interpolator-participation.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/descriptors/helpers/derive-structural-ancestor-keys.d.ts +0 -5
- package/lib/typescript/shared/providers/screen/descriptors/helpers/derive-structural-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/lib/typescript/shared/stores/bounds/internals/screen-graph.d.ts +0 -5
- package/lib/typescript/shared/stores/bounds/internals/screen-graph.d.ts.map +0 -1
- package/src/shared/providers/screen/animation/helpers/interpolator-participation.ts +0 -6
- package/src/shared/providers/screen/descriptors/helpers/derive-structural-ancestor-keys.ts +0 -13
- package/src/shared/providers/screen/gestures/shared/ancestors.ts +0 -27
- package/src/shared/stores/bounds/internals/screen-graph.ts +0 -45
|
@@ -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;
|
|
@@ -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,33 +31,32 @@ export type ScreenSlotContextValue = {
|
|
|
30
31
|
visibilityBlocked: SharedValue<boolean>;
|
|
31
32
|
};
|
|
32
33
|
|
|
33
|
-
const
|
|
34
|
+
const createScreenSlotProvider = createProvider("ScreenSlot", {
|
|
35
|
+
global: true,
|
|
36
|
+
})<Props, ScreenSlotContextValue>;
|
|
34
37
|
|
|
35
|
-
export const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
parentScreenKey ?? NO_PARENT_SCREEN_KEY,
|
|
42
|
-
(store) => store.visibilityBlocked,
|
|
43
|
-
);
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
export const { ScreenSlotProvider, useScreenSlotStore: useScreenSlots } =
|
|
47
|
-
createProvider("ScreenSlot", {
|
|
48
|
-
guarded: true,
|
|
49
|
-
global: true,
|
|
50
|
-
})<Props, ScreenSlotContextValue>(({ children }, { useParentStore }) => {
|
|
51
|
-
const ancestorStylesMap = useParentStore(
|
|
52
|
-
(parentContext) => parentContext?.slotsMap,
|
|
53
|
-
);
|
|
38
|
+
export const {
|
|
39
|
+
ScreenSlotProvider,
|
|
40
|
+
useOptionalScreenSlotStore,
|
|
41
|
+
useScreenSlotStore,
|
|
42
|
+
}: ReturnType<typeof createScreenSlotProvider> = createScreenSlotProvider(
|
|
43
|
+
({ children }) => {
|
|
54
44
|
const currentScreenKey = useDescriptorsStore(
|
|
55
45
|
(store) => store.derivations.currentScreenKey,
|
|
56
46
|
);
|
|
57
|
-
const
|
|
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
|
+
);
|
|
58
56
|
const { animatedStyle, animatedProps, visibilityBlocked } =
|
|
59
|
-
useMaybeBlockVisibility({
|
|
57
|
+
useMaybeBlockVisibility({
|
|
58
|
+
ancestorVisibilityBlocked: ancestorVisibilityBlocked ?? null,
|
|
59
|
+
});
|
|
60
60
|
|
|
61
61
|
const { interpolatorReady, localStylesMaps } = useInterpolatedStylesMap({
|
|
62
62
|
enabled: true,
|
|
@@ -65,7 +65,7 @@ export const { ScreenSlotProvider, useScreenSlotStore: useScreenSlots } =
|
|
|
65
65
|
|
|
66
66
|
const slotsMap = useResolvedStylesMap({
|
|
67
67
|
localStylesMaps,
|
|
68
|
-
ancestorStylesMap,
|
|
68
|
+
ancestorStylesMap: ancestorStylesMap ?? undefined,
|
|
69
69
|
});
|
|
70
70
|
const value = useMemo(
|
|
71
71
|
() => ({
|
|
@@ -92,7 +92,8 @@ export const { ScreenSlotProvider, useScreenSlotStore: useScreenSlots } =
|
|
|
92
92
|
value,
|
|
93
93
|
children: content,
|
|
94
94
|
};
|
|
95
|
-
}
|
|
95
|
+
},
|
|
96
|
+
);
|
|
96
97
|
|
|
97
98
|
const styles = StyleSheet.create({
|
|
98
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);
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { SharedValue } from "react-native-reanimated";
|
|
2
|
+
import {
|
|
3
|
+
registerWorkletScreen,
|
|
4
|
+
screenBelongsToScope,
|
|
5
|
+
unregisterWorkletScreen,
|
|
6
|
+
} from "../../../factories/screen-topology";
|
|
2
7
|
import {
|
|
3
8
|
ensurePairDestinationRequests,
|
|
4
9
|
ensurePairGroups,
|
|
@@ -20,11 +25,6 @@ import type {
|
|
|
20
25
|
TagID,
|
|
21
26
|
} from "../types";
|
|
22
27
|
import { removeEntry, setEntry } from "./entries";
|
|
23
|
-
import {
|
|
24
|
-
registerBoundsScreen,
|
|
25
|
-
screenBelongsToScope,
|
|
26
|
-
unregisterBoundsScreen,
|
|
27
|
-
} from "./screen-graph";
|
|
28
28
|
import { boundaryRegistry, boundsScreens, pairs } from "./state";
|
|
29
29
|
|
|
30
30
|
type MeasurementRequest = {
|
|
@@ -184,11 +184,18 @@ const releaseDestinationBlockWhenReady = (
|
|
|
184
184
|
export function registerScreen(params: RegisterScreenParams) {
|
|
185
185
|
"worklet";
|
|
186
186
|
const node: BoundsScreenNode = {
|
|
187
|
-
parentScreenKey: params.parentScreenKey,
|
|
188
187
|
animationProgress: params.animationProgress,
|
|
189
188
|
pendingLifecycleStartBlockCount: params.pendingLifecycleStartBlockCount,
|
|
190
189
|
};
|
|
191
|
-
|
|
190
|
+
registerWorkletScreen({
|
|
191
|
+
screenKey: params.screenKey,
|
|
192
|
+
parentScreenKey: params.parentScreenKey,
|
|
193
|
+
});
|
|
194
|
+
boundsScreens.modify(<T extends typeof boundsScreens.value>(state: T): T => {
|
|
195
|
+
"worklet";
|
|
196
|
+
(state as typeof boundsScreens.value)[params.screenKey] = node;
|
|
197
|
+
return state;
|
|
198
|
+
});
|
|
192
199
|
|
|
193
200
|
const state = pairs.get();
|
|
194
201
|
for (const pairKey in state) {
|
|
@@ -201,7 +208,12 @@ export function registerScreen(params: RegisterScreenParams) {
|
|
|
201
208
|
|
|
202
209
|
export function unregisterScreen(screenKey: ScreenKey) {
|
|
203
210
|
"worklet";
|
|
204
|
-
|
|
211
|
+
unregisterWorkletScreen(screenKey);
|
|
212
|
+
boundsScreens.modify(<T extends typeof boundsScreens.value>(state: T): T => {
|
|
213
|
+
"worklet";
|
|
214
|
+
delete state[screenKey];
|
|
215
|
+
return state;
|
|
216
|
+
});
|
|
205
217
|
}
|
|
206
218
|
|
|
207
219
|
export function registerBoundary({
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { MeasuredDimensions, StyleProps } from "react-native-reanimated";
|
|
2
|
+
import { screenBelongsToScope } from "../../../factories/screen-topology";
|
|
2
3
|
import {
|
|
3
4
|
createGroupTag,
|
|
4
5
|
ensurePairGroups,
|
|
@@ -23,7 +24,6 @@ import type {
|
|
|
23
24
|
TagID,
|
|
24
25
|
TagLink,
|
|
25
26
|
} from "../types";
|
|
26
|
-
import { screenBelongsToScope } from "./screen-graph";
|
|
27
27
|
import { pairs } from "./state";
|
|
28
28
|
|
|
29
29
|
const syncLinkStatus = (link: TagLink) => {
|
|
@@ -38,5 +38,5 @@ export const boundaryRegistry = makeMutable<BoundaryEntriesState>({});
|
|
|
38
38
|
*/
|
|
39
39
|
export const pairs = makeMutable<LinkPairsState>({});
|
|
40
40
|
|
|
41
|
-
/**
|
|
41
|
+
/** Bounds-only runtime values keyed by screen. Relationships live in topology. */
|
|
42
42
|
export const boundsScreens = makeMutable<BoundsScreenState>({});
|
|
@@ -143,7 +143,6 @@ export type LinkPairState = {
|
|
|
143
143
|
export type LinkPairsState = Record<ScreenPairKey, LinkPairState>;
|
|
144
144
|
|
|
145
145
|
export type BoundsScreenNode = {
|
|
146
|
-
parentScreenKey?: ScreenKey;
|
|
147
146
|
animationProgress: SharedValue<number>;
|
|
148
147
|
pendingLifecycleStartBlockCount: SharedValue<number>;
|
|
149
148
|
};
|
|
@@ -36,6 +36,7 @@ export interface BlankStackStoreValue<
|
|
|
36
36
|
routes: TDescriptor["route"][];
|
|
37
37
|
scenes: BaseStackScene<TDescriptor>[];
|
|
38
38
|
scenesByKey: Record<string, BaseStackScene<TDescriptor>>;
|
|
39
|
+
paintDriverRouteKeyByRouteKey: ReadonlyMap<string, string>;
|
|
39
40
|
focusedIndex: number;
|
|
40
41
|
requestDismiss: (payload: { route: BaseStackRoute }) => boolean;
|
|
41
42
|
shouldShowFloatOverlay: boolean;
|
|
@@ -180,16 +180,6 @@ export type ScreenTransitionConfig = {
|
|
|
180
180
|
*/
|
|
181
181
|
screenStyleInterpolator?: ScreenStyleInterpolator;
|
|
182
182
|
|
|
183
|
-
/**
|
|
184
|
-
* Allows this screen's interpolator to keep updating while the screen is
|
|
185
|
-
* inactive. This is useful for flows that intentionally animate screens more
|
|
186
|
-
* than one level behind the active route with values such as `stackProgress`.
|
|
187
|
-
*
|
|
188
|
-
* @experimental This API may change in future versions.
|
|
189
|
-
* @default false
|
|
190
|
-
*/
|
|
191
|
-
experimental_updateInactiveInterpolators?: boolean;
|
|
192
|
-
|
|
193
183
|
/**
|
|
194
184
|
* The Reanimated animation config for opening and closing transitions.
|
|
195
185
|
*/
|