react-native-screen-transitions 3.13.0-beta.0 → 3.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -0
- 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/create-boundary-component.js +5 -1
- package/lib/commonjs/shared/components/boundary/create-boundary-component.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/helpers/active-handoff-receiver.js +8 -0
- 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 +3 -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/portal/teleport.js +1 -13
- package/lib/commonjs/shared/components/boundary/portal/teleport.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/create-boundary-component.js +6 -2
- package/lib/module/shared/components/boundary/create-boundary-component.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/helpers/active-handoff-receiver.js +8 -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 +4 -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/portal/teleport.js +1 -14
- package/lib/module/shared/components/boundary/portal/teleport.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/create-boundary-component.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 +2 -1
- 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/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/portal/teleport.d.ts +1 -1
- package/lib/typescript/shared/components/boundary/portal/teleport.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/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 +0 -6
- 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 +2 -2
- 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/create-boundary-component.tsx +10 -2
- package/src/shared/components/boundary/hooks/use-measurer.ts +3 -2
- package/src/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.ts +22 -0
- package/src/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.ts +7 -3
- package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts +2 -6
- package/src/shared/components/boundary/portal/teleport.ts +2 -23
- 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
|
@@ -11,9 +11,11 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
11
11
|
* https://github.com/MatiPl01/react-native-sortables/blob/main/packages/react-native-sortables/src/providers/utils/createProvider.tsx
|
|
12
12
|
* SUPER COOL AMAZING UTILITY
|
|
13
13
|
*
|
|
14
|
-
* Store-only provider: values propagate exclusively through
|
|
15
|
-
*
|
|
16
|
-
*
|
|
14
|
+
* Store-only provider: values propagate exclusively through subscription
|
|
15
|
+
* selectors. `use${Name}Store` requires an available store, while
|
|
16
|
+
* `useOptional${Name}Store` preserves nullable bootstrap and outer-context
|
|
17
|
+
* access. There is intentionally no raw context channel, so consumers
|
|
18
|
+
* subscribe only to the values they render.
|
|
17
19
|
*
|
|
18
20
|
* Factories do not memoize what they return:
|
|
19
21
|
* - `value`: the store shallow-compares snapshots and keeps the previous
|
|
@@ -24,7 +26,7 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
24
26
|
* module-level memoized component for the wrapper.
|
|
25
27
|
*
|
|
26
28
|
* Providers created with `global: true` return a `key` from their factory.
|
|
27
|
-
*
|
|
29
|
+
* Both generated store hooks accept that key to subscribe to the original
|
|
28
30
|
* provider store from outside its React context.
|
|
29
31
|
*/
|
|
30
32
|
|
|
@@ -78,40 +80,20 @@ const createProviderStore = initialSnapshot => {
|
|
|
78
80
|
};
|
|
79
81
|
const createProviderStoreRegistry = () => {
|
|
80
82
|
const listenersByKey = new Map();
|
|
81
|
-
const
|
|
82
|
-
const getStore = key => {
|
|
83
|
-
const registrations = registrationsByKey.get(key);
|
|
84
|
-
return registrations?.[registrations.length - 1]?.store ?? null;
|
|
85
|
-
};
|
|
83
|
+
const storesByKey = new Map();
|
|
86
84
|
const notify = key => {
|
|
87
85
|
for (const listener of listenersByKey.get(key) ?? []) {
|
|
88
86
|
listener();
|
|
89
87
|
}
|
|
90
88
|
};
|
|
91
89
|
return {
|
|
92
|
-
getStore,
|
|
90
|
+
getStore: key => storesByKey.get(key) ?? null,
|
|
93
91
|
register: (key, store) => {
|
|
94
|
-
|
|
95
|
-
store
|
|
96
|
-
};
|
|
97
|
-
const registrations = registrationsByKey.get(key) ?? [];
|
|
98
|
-
registrationsByKey.set(key, [...registrations, registration]);
|
|
92
|
+
storesByKey.set(key, store);
|
|
99
93
|
notify(key);
|
|
100
94
|
return () => {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
const previousStore = getStore(key);
|
|
106
|
-
const nextRegistrations = currentRegistrations.filter(currentRegistration => currentRegistration !== registration);
|
|
107
|
-
if (nextRegistrations.length === 0) {
|
|
108
|
-
registrationsByKey.delete(key);
|
|
109
|
-
} else {
|
|
110
|
-
registrationsByKey.set(key, nextRegistrations);
|
|
111
|
-
}
|
|
112
|
-
if (getStore(key) !== previousStore) {
|
|
113
|
-
notify(key);
|
|
114
|
-
}
|
|
95
|
+
storesByKey.delete(key);
|
|
96
|
+
notify(key);
|
|
115
97
|
};
|
|
116
98
|
},
|
|
117
99
|
subscribe: (key, listener) => {
|
|
@@ -130,95 +112,63 @@ const createProviderStoreRegistry = () => {
|
|
|
130
112
|
function createProvider(name, options) {
|
|
131
113
|
return factory => {
|
|
132
114
|
const {
|
|
133
|
-
guarded = true,
|
|
134
115
|
global = false
|
|
135
116
|
} = options ?? {};
|
|
136
117
|
const providerDisplayName = `${name}Provider`;
|
|
137
118
|
const globalRegistry = global ? createProviderStoreRegistry() : null;
|
|
138
|
-
const keyByStore = global ? new WeakMap() : null;
|
|
139
119
|
const StoreContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
140
120
|
StoreContext.displayName = `${name}Store`;
|
|
141
|
-
const
|
|
142
|
-
const
|
|
143
|
-
|
|
144
|
-
|
|
121
|
+
const useStoreSelection = (required, selectorOrKey, globalSelector) => {
|
|
122
|
+
const isGlobalLookup = global && (typeof selectorOrKey === "string" || selectorOrKey === null);
|
|
123
|
+
const key = isGlobalLookup ? selectorOrKey : null;
|
|
124
|
+
const selector = isGlobalLookup ? globalSelector : selectorOrKey;
|
|
125
|
+
const contextStore = (0, _react.useContext)(StoreContext);
|
|
126
|
+
const selectorRef = (0, _react.useRef)(selector);
|
|
127
|
+
selectorRef.current = selector;
|
|
128
|
+
const getStore = (0, _react.useCallback)(() => {
|
|
129
|
+
if (isGlobalLookup) {
|
|
130
|
+
return key !== null && globalRegistry ? globalRegistry.getStore(key) : null;
|
|
145
131
|
}
|
|
146
|
-
return
|
|
147
|
-
}, [key]);
|
|
148
|
-
const
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
const getSelectedSnapshot = (0, _react.useCallback)(() => {
|
|
159
|
-
if (strict && store === null) {
|
|
160
|
-
throw new Error(`${name} store must be used within a ${name}Provider`);
|
|
161
|
-
}
|
|
162
|
-
const snapshot = resolvedStore.getSnapshot();
|
|
163
|
-
if (strict && snapshot === null) {
|
|
164
|
-
throw new Error(`${name} store must be used within an enabled ${name}Provider`);
|
|
165
|
-
}
|
|
166
|
-
return selectorRef.current ? selectorRef.current(snapshot) : snapshot;
|
|
167
|
-
}, [resolvedStore, store]);
|
|
168
|
-
return (0, _react.useSyncExternalStore)(resolvedStore.subscribe, getSelectedSnapshot, getSelectedSnapshot);
|
|
132
|
+
return contextStore;
|
|
133
|
+
}, [contextStore, isGlobalLookup, key]);
|
|
134
|
+
const subscribe = (0, _react.useCallback)(listener => {
|
|
135
|
+
let unsubscribeStore = (getStore() ?? NullProviderStore).subscribe(listener);
|
|
136
|
+
const unsubscribeRegistry = isGlobalLookup && key !== null && globalRegistry ? globalRegistry.subscribe(key, () => {
|
|
137
|
+
unsubscribeStore();
|
|
138
|
+
unsubscribeStore = (getStore() ?? NullProviderStore).subscribe(listener);
|
|
139
|
+
listener();
|
|
140
|
+
}) : () => {};
|
|
141
|
+
return () => {
|
|
142
|
+
unsubscribeRegistry();
|
|
143
|
+
unsubscribeStore();
|
|
169
144
|
};
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
const
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
const getSelectedSnapshot = (0, _react.useCallback)(() => {
|
|
183
|
-
if (!isGlobalLookup && strict && store === null) {
|
|
184
|
-
throw new Error(`${name} store must be used within a ${name}Provider`);
|
|
185
|
-
}
|
|
186
|
-
const snapshot = resolvedStore.getSnapshot();
|
|
187
|
-
if (isGlobalLookup && snapshot === null) {
|
|
188
|
-
return null;
|
|
189
|
-
}
|
|
190
|
-
if (!isGlobalLookup && strict && snapshot === null) {
|
|
191
|
-
throw new Error(`${name} store must be used within an enabled ${name}Provider`);
|
|
192
|
-
}
|
|
193
|
-
return typeof selectorRef.current === "function" ? selectorRef.current(snapshot) : snapshot;
|
|
194
|
-
}, [isGlobalLookup, resolvedStore, store]);
|
|
195
|
-
return (0, _react.useSyncExternalStore)(resolvedStore.subscribe, getSelectedSnapshot, getSelectedSnapshot);
|
|
196
|
-
};
|
|
197
|
-
};
|
|
198
|
-
const useStoreSelector = createStoreHook(guarded, global);
|
|
199
|
-
const factoryInternals = {
|
|
200
|
-
useParentStore: createStoreHook(false, false)
|
|
145
|
+
}, [getStore, isGlobalLookup, key]);
|
|
146
|
+
const getSelectedSnapshot = (0, _react.useCallback)(() => {
|
|
147
|
+
const snapshot = getStore()?.getSnapshot() ?? null;
|
|
148
|
+
if (required && snapshot === null) {
|
|
149
|
+
throw new Error(key === null ? `${name}Store is unavailable` : `${name}Store is unavailable for key "${key}"`);
|
|
150
|
+
}
|
|
151
|
+
if (isGlobalLookup && snapshot === null) {
|
|
152
|
+
return null;
|
|
153
|
+
}
|
|
154
|
+
return typeof selectorRef.current === "function" ? selectorRef.current(snapshot) : snapshot;
|
|
155
|
+
}, [getStore, isGlobalLookup, key, required]);
|
|
156
|
+
return (0, _react.useSyncExternalStore)(subscribe, getSelectedSnapshot, getSelectedSnapshot);
|
|
201
157
|
};
|
|
158
|
+
const useOptionalStoreSelector = (selectorOrKey, globalSelector) => useStoreSelection(false, selectorOrKey, globalSelector);
|
|
159
|
+
const useStoreSelector = (selectorOrKey, globalSelector) => useStoreSelection(true, selectorOrKey, globalSelector);
|
|
202
160
|
const Provider = props => {
|
|
203
161
|
const {
|
|
204
162
|
children = props.children,
|
|
205
|
-
enabled = true,
|
|
206
163
|
key,
|
|
207
164
|
value
|
|
208
|
-
} = factory(props
|
|
209
|
-
if (!value) {
|
|
210
|
-
throw new Error(`${name}Context value must be provided. You likely forgot to return it from the factory function.`);
|
|
211
|
-
}
|
|
212
|
-
const snapshotValue = enabled ? value : null;
|
|
165
|
+
} = factory(props);
|
|
213
166
|
const storeRef = (0, _react.useRef)(null);
|
|
214
167
|
const pendingNotifyRef = (0, _react.useRef)(false);
|
|
215
168
|
if (storeRef.current === null) {
|
|
216
|
-
storeRef.current = createProviderStore(
|
|
169
|
+
storeRef.current = createProviderStore(value);
|
|
217
170
|
}
|
|
218
171
|
const store = storeRef.current;
|
|
219
|
-
if (keyByStore && typeof key === "string") {
|
|
220
|
-
keyByStore.set(store, key);
|
|
221
|
-
}
|
|
222
172
|
(0, _react.useLayoutEffect)(() => {
|
|
223
173
|
if (!globalRegistry) {
|
|
224
174
|
return;
|
|
@@ -228,7 +178,7 @@ function createProvider(name, options) {
|
|
|
228
178
|
}
|
|
229
179
|
return globalRegistry.register(key, store);
|
|
230
180
|
}, [key, store]);
|
|
231
|
-
pendingNotifyRef.current = store.setSnapshot(
|
|
181
|
+
pendingNotifyRef.current = store.setSnapshot(value) || pendingNotifyRef.current;
|
|
232
182
|
(0, _react.useLayoutEffect)(() => {
|
|
233
183
|
if (!pendingNotifyRef.current) {
|
|
234
184
|
return;
|
|
@@ -244,6 +194,7 @@ function createProvider(name, options) {
|
|
|
244
194
|
Provider.displayName = providerDisplayName;
|
|
245
195
|
return {
|
|
246
196
|
[`${name}Provider`]: Provider,
|
|
197
|
+
[`useOptional${name}Store`]: useOptionalStoreSelector,
|
|
247
198
|
[`use${name}Store`]: useStoreSelector
|
|
248
199
|
};
|
|
249
200
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_jsxRuntime","NullProviderStore","getSnapshot","subscribe","shallowEqual","a","b","Object","is","aKeys","keys","bKeys","length","key","createProviderStore","initialSnapshot","snapshot","listeners","Set","notify","listener","setSnapshot","nextSnapshot","add","delete","createProviderStoreRegistry","listenersByKey","Map","
|
|
1
|
+
{"version":3,"names":["_react","require","_jsxRuntime","NullProviderStore","getSnapshot","subscribe","shallowEqual","a","b","Object","is","aKeys","keys","bKeys","length","key","createProviderStore","initialSnapshot","snapshot","listeners","Set","notify","listener","setSnapshot","nextSnapshot","add","delete","createProviderStoreRegistry","listenersByKey","Map","storesByKey","get","getStore","register","store","set","size","createProvider","name","options","factory","global","providerDisplayName","globalRegistry","StoreContext","createContext","displayName","useStoreSelection","required","selectorOrKey","globalSelector","isGlobalLookup","selector","contextStore","useContext","selectorRef","useRef","current","useCallback","unsubscribeStore","unsubscribeRegistry","getSelectedSnapshot","Error","useSyncExternalStore","useOptionalStoreSelector","useStoreSelector","Provider","props","children","value","storeRef","pendingNotifyRef","useLayoutEffect","jsx"],"sourceRoot":"../../../../src","sources":["shared/utils/create-provider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -27,7 +27,7 @@ function buildTransitionStackState({
|
|
|
27
27
|
const routes = state.routes;
|
|
28
28
|
const preloadedRoutes = getPreloadedRoutes(state);
|
|
29
29
|
const allRoutes = routes.concat(preloadedRoutes);
|
|
30
|
-
const routeKeys =
|
|
30
|
+
const routeKeys = routes.map(route => route.key);
|
|
31
31
|
const scenes = [];
|
|
32
32
|
const routeIndexByKey = new Map();
|
|
33
33
|
let shouldShowFloatOverlay = false;
|
|
@@ -54,7 +54,6 @@ function buildTransitionStackState({
|
|
|
54
54
|
descriptor: normalizedDescriptor,
|
|
55
55
|
previousDescriptor
|
|
56
56
|
});
|
|
57
|
-
routeKeys.push(route.key);
|
|
58
57
|
routeIndexByKey.set(route.key, sceneIndex);
|
|
59
58
|
if (!shouldShowFloatOverlay && normalizedDescriptor.options.enableTransitions && isOverlayVisible(normalizedDescriptor.options)) {
|
|
60
59
|
shouldShowFloatOverlay = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","Overlay","StackProvider","ScreenComposer","StackCoreProvider","useStackCoreStore","StackType","isOverlayVisible","ScreenTransitionsAdapterProvider","useScreenTransitionsAdapterContext","resolveAdapterTransitionOptions","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","EMPTY_PRELOADED_ROUTES","getPreloadedRoutes","state","preloadedRoutes","normalizeDescriptor","descriptor","options","buildTransitionStackState","descriptors","routes","allRoutes","concat","routeKeys","
|
|
1
|
+
{"version":3,"names":["useMemo","Overlay","StackProvider","ScreenComposer","StackCoreProvider","useStackCoreStore","StackType","isOverlayVisible","ScreenTransitionsAdapterProvider","useScreenTransitionsAdapterContext","resolveAdapterTransitionOptions","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","EMPTY_PRELOADED_ROUTES","getPreloadedRoutes","state","preloadedRoutes","normalizeDescriptor","descriptor","options","buildTransitionStackState","descriptors","routes","allRoutes","concat","routeKeys","map","route","key","scenes","routeIndexByKey","Map","shouldShowFloatOverlay","includes","Error","normalizedDescriptor","sceneIndex","length","previousDescriptor","nextDescriptor","push","activity","index","set","enableTransitions","ScreenTransitionsStackContent","layout","layoutArgs","flags","store","transitionState","stackContextValue","navigatorKey","focusedIndex","adapterContextValue","children","value","Float","ScreenTransitionsStackLayout","props","config","TRANSITIONS_ALWAYS_ON","STACK_TYPE","NATIVE","ScreenTransitionsScreenLayout","screenLayout","screenLayoutArgs","get","undefined","scene","previous","current","next"],"sourceRoot":"../../../../../src","sources":["shared/adapters/with-screen-transitions/stack-layout.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,4 +2,52 @@
|
|
|
2
2
|
|
|
3
3
|
import { IS_WEB } from "../../constants";
|
|
4
4
|
export const DEFAULT_INACTIVE_BEHAVIOR = IS_WEB ? "unmount" : "hide";
|
|
5
|
+
const ActivityStateByActivity = {
|
|
6
|
+
active: 2,
|
|
7
|
+
inert: 1,
|
|
8
|
+
inactive: 0,
|
|
9
|
+
closing: 1
|
|
10
|
+
};
|
|
11
|
+
const PointerEventsByActivity = {
|
|
12
|
+
active: "auto",
|
|
13
|
+
inert: "auto",
|
|
14
|
+
inactive: "none",
|
|
15
|
+
closing: "none"
|
|
16
|
+
};
|
|
17
|
+
export const HIDDEN_ACTIVITY_SCREEN_STYLE = {
|
|
18
|
+
display: "none"
|
|
19
|
+
};
|
|
20
|
+
export function resolveActivityScreenPresentation({
|
|
21
|
+
activity,
|
|
22
|
+
inactiveBehavior,
|
|
23
|
+
waitForPaintDriver
|
|
24
|
+
}) {
|
|
25
|
+
let activityState = ActivityStateByActivity[activity];
|
|
26
|
+
let shouldFreeze = false;
|
|
27
|
+
let visible = activity !== "inactive";
|
|
28
|
+
if (activity === "inactive") {
|
|
29
|
+
if (inactiveBehavior === "keep") {
|
|
30
|
+
activityState = 1;
|
|
31
|
+
visible = true;
|
|
32
|
+
} else if (waitForPaintDriver) {
|
|
33
|
+
activityState = 1;
|
|
34
|
+
visible = true;
|
|
35
|
+
} else if (inactiveBehavior === "pause") {
|
|
36
|
+
activityState = 1;
|
|
37
|
+
shouldFreeze = true;
|
|
38
|
+
visible = true;
|
|
39
|
+
} else {
|
|
40
|
+
activityState = 0;
|
|
41
|
+
shouldFreeze = true;
|
|
42
|
+
visible = false;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
activityState,
|
|
47
|
+
freezeOnBlur: true,
|
|
48
|
+
pointerEvents: PointerEventsByActivity[activity],
|
|
49
|
+
shouldFreeze,
|
|
50
|
+
visible
|
|
51
|
+
};
|
|
52
|
+
}
|
|
5
53
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["IS_WEB","DEFAULT_INACTIVE_BEHAVIOR"],"sourceRoot":"../../../../../src","sources":["shared/components/activity/helpers.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,iBAAiB;
|
|
1
|
+
{"version":3,"names":["IS_WEB","DEFAULT_INACTIVE_BEHAVIOR","ActivityStateByActivity","active","inert","inactive","closing","PointerEventsByActivity","HIDDEN_ACTIVITY_SCREEN_STYLE","display","resolveActivityScreenPresentation","activity","inactiveBehavior","waitForPaintDriver","activityState","shouldFreeze","visible","freezeOnBlur","pointerEvents"],"sourceRoot":"../../../../../src","sources":["shared/components/activity/helpers.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,iBAAiB;AAMxC,OAAO,MAAMC,yBAA2C,GAAGD,MAAM,GAC9D,SAAS,GACT,MAAM;AAIT,MAAME,uBAAuB,GAAG;EAC/BC,MAAM,EAAE,CAAC;EACTC,KAAK,EAAE,CAAC;EACRC,QAAQ,EAAE,CAAC;EACXC,OAAO,EAAE;AACV,CAAqD;AAErD,MAAMC,uBAAuB,GAAG;EAC/BJ,MAAM,EAAE,MAAM;EACdC,KAAK,EAAE,MAAM;EACbC,QAAQ,EAAE,MAAM;EAChBC,OAAO,EAAE;AACV,CAAgE;AAEhE,OAAO,MAAME,4BAA4B,GAAG;EAAEC,OAAO,EAAE;AAAO,CAAU;AAExE,OAAO,SAASC,iCAAiCA,CAAC;EACjDC,QAAQ;EACRC,gBAAgB;EAChBC;AAKD,CAAC,EAAE;EACF,IAAIC,aAA4B,GAAGZ,uBAAuB,CAACS,QAAQ,CAAC;EACpE,IAAII,YAAY,GAAG,KAAK;EACxB,IAAIC,OAAO,GAAGL,QAAQ,KAAK,UAAU;EAErC,IAAIA,QAAQ,KAAK,UAAU,EAAE;IAC5B,IAAIC,gBAAgB,KAAK,MAAM,EAAE;MAChCE,aAAa,GAAG,CAAC;MACjBE,OAAO,GAAG,IAAI;IACf,CAAC,MAAM,IAAIH,kBAAkB,EAAE;MAC9BC,aAAa,GAAG,CAAC;MACjBE,OAAO,GAAG,IAAI;IACf,CAAC,MAAM,IAAIJ,gBAAgB,KAAK,OAAO,EAAE;MACxCE,aAAa,GAAG,CAAC;MACjBC,YAAY,GAAG,IAAI;MACnBC,OAAO,GAAG,IAAI;IACf,CAAC,MAAM;MACNF,aAAa,GAAG,CAAC;MACjBC,YAAY,GAAG,IAAI;MACnBC,OAAO,GAAG,KAAK;IAChB;EACD;EAEA,OAAO;IACNF,aAAa;IACbG,YAAY,EAAE,IAAI;IAClBC,aAAa,EAAEX,uBAAuB,CAACI,QAAQ,CAAC;IAChDI,YAAY;IACZC;EACD,CAAC;AACF","ignoreList":[]}
|
|
@@ -9,42 +9,21 @@ import { useStack } from "../../../hooks/navigation/use-stack";
|
|
|
9
9
|
import { useSharedValueState } from "../../../hooks/reanimated/use-shared-value-state";
|
|
10
10
|
import { useBlankStackStore } from "../../../providers/stack/blank-stack.provider";
|
|
11
11
|
import { AnimationStore } from "../../../stores/animation.store";
|
|
12
|
-
import { DEFAULT_INACTIVE_BEHAVIOR } from "../helpers";
|
|
12
|
+
import { DEFAULT_INACTIVE_BEHAVIOR, HIDDEN_ACTIVITY_SCREEN_STYLE, resolveActivityScreenPresentation } from "../helpers";
|
|
13
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
|
-
const ActivityStateByActivity = {
|
|
15
|
-
active: 2,
|
|
16
|
-
inert: 1,
|
|
17
|
-
inactive: 0,
|
|
18
|
-
closing: 1
|
|
19
|
-
};
|
|
20
|
-
const PointerEventsByActivity = {
|
|
21
|
-
active: "auto",
|
|
22
|
-
inert: "auto",
|
|
23
|
-
inactive: "none",
|
|
24
|
-
closing: "none"
|
|
25
|
-
};
|
|
26
14
|
export const ActivityScreen = /*#__PURE__*/memo(function ActivityScreen({
|
|
27
|
-
activity,
|
|
28
15
|
children,
|
|
29
16
|
inactiveBehavior,
|
|
30
17
|
paintDriverRouteKey,
|
|
31
18
|
hasNestedState,
|
|
32
19
|
routeKey
|
|
33
20
|
}) {
|
|
34
|
-
const
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
const stackPaintDriverRouteKey = useBlankStackStore(store => {
|
|
38
|
-
if (!routeKey || !store) {
|
|
39
|
-
return undefined;
|
|
40
|
-
}
|
|
41
|
-
const routeIndex = store.routeKeys.indexOf(routeKey);
|
|
42
|
-
return store.routeKeys[routeIndex + 2];
|
|
43
|
-
});
|
|
44
|
-
const resolvedActivity = activity ?? stackActivity ?? "active";
|
|
21
|
+
const scene = useBlankStackStore(store => store.scenesByKey[routeKey]);
|
|
22
|
+
const stackPaintDriverRouteKey = useBlankStackStore(store => store.paintDriverRouteKeyByRouteKey.get(routeKey));
|
|
23
|
+
const stackInactiveBehavior = scene.descriptor.options.inactiveBehavior;
|
|
45
24
|
const resolvedInactiveBehavior = inactiveBehavior ?? stackInactiveBehavior ?? DEFAULT_INACTIVE_BEHAVIOR;
|
|
46
25
|
const resolvedPaintDriverRouteKey = paintDriverRouteKey ?? stackPaintDriverRouteKey;
|
|
47
|
-
const resolvedHasNestedState = hasNestedState ??
|
|
26
|
+
const resolvedHasNestedState = hasNestedState ?? "state" in scene.route;
|
|
48
27
|
const nativeScreenDisabled = useStack(s => s.flags.DISABLE_NATIVE_SCREENS);
|
|
49
28
|
const paintDriverAnimations = resolvedPaintDriverRouteKey ? AnimationStore.getBag(resolvedPaintDriverRouteKey) : undefined;
|
|
50
29
|
|
|
@@ -64,33 +43,15 @@ export const ActivityScreen = /*#__PURE__*/memo(function ActivityScreen({
|
|
|
64
43
|
return paintDriverAnimations.visualProgress.get() >= 1;
|
|
65
44
|
});
|
|
66
45
|
const isPaintDriverSettledOnJS = useSharedValueState(isPaintDriverSettled);
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
// Delay hiding until the paint driver has settled to avoid
|
|
77
|
-
// a blank frame during the transition.
|
|
78
|
-
activityState = 1;
|
|
79
|
-
visible = true;
|
|
80
|
-
} else if (resolvedInactiveBehavior === "pause") {
|
|
81
|
-
activityState = 1;
|
|
82
|
-
shouldFreeze = true;
|
|
83
|
-
visible = true;
|
|
84
|
-
} else {
|
|
85
|
-
// `hide` freezes and hides native presentation. Non-nested
|
|
86
|
-
// `unmount` removes the React subtree through the JS guard below.
|
|
87
|
-
activityState = 0;
|
|
88
|
-
shouldFreeze = true;
|
|
89
|
-
visible = false;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
const shouldUnmount = resolvedInactiveBehavior === "unmount" && resolvedActivity === "inactive" && !resolvedHasNestedState && isPaintDriverSettledOnJS;
|
|
93
|
-
const pointerEvents = PointerEventsByActivity[resolvedActivity];
|
|
46
|
+
const {
|
|
47
|
+
visible,
|
|
48
|
+
...screenPresentation
|
|
49
|
+
} = resolveActivityScreenPresentation({
|
|
50
|
+
activity: scene.activity,
|
|
51
|
+
inactiveBehavior: resolvedInactiveBehavior,
|
|
52
|
+
waitForPaintDriver: !isPaintDriverSettledOnJS
|
|
53
|
+
});
|
|
54
|
+
const shouldUnmount = resolvedInactiveBehavior === "unmount" && scene.activity === "inactive" && !resolvedHasNestedState && isPaintDriverSettledOnJS;
|
|
94
55
|
if (shouldUnmount) {
|
|
95
56
|
return null;
|
|
96
57
|
}
|
|
@@ -98,31 +59,19 @@ export const ActivityScreen = /*#__PURE__*/memo(function ActivityScreen({
|
|
|
98
59
|
if (IS_WEB || nativeScreenDisabled) {
|
|
99
60
|
return /*#__PURE__*/_jsx(View, {
|
|
100
61
|
style: style,
|
|
101
|
-
pointerEvents: pointerEvents,
|
|
62
|
+
pointerEvents: screenPresentation.pointerEvents,
|
|
102
63
|
collapsable: false,
|
|
103
64
|
children: children
|
|
104
65
|
});
|
|
105
66
|
}
|
|
106
67
|
return /*#__PURE__*/_jsx(Screen, {
|
|
68
|
+
...screenPresentation,
|
|
107
69
|
style: style,
|
|
108
|
-
activityState: activityState,
|
|
109
|
-
shouldFreeze: shouldFreeze,
|
|
110
|
-
pointerEvents: pointerEvents,
|
|
111
70
|
collapsable: false,
|
|
112
71
|
children: children
|
|
113
72
|
});
|
|
114
73
|
});
|
|
115
|
-
const HIDDEN_SCREEN_OFFSET = 10_000;
|
|
116
74
|
const styles = StyleSheet.create({
|
|
117
|
-
hidden:
|
|
118
|
-
// NOTE:
|
|
119
|
-
// When setting a screen to display:"none", the gesture detector will not recognize anymore. Since I believe
|
|
120
|
-
// rngh is attaching itself to its nearest native view, this of course would kill the detector.
|
|
121
|
-
// To avoid this, we use a transform to move the screen off-screen instead of display: "none". This isn't my favorite approach,
|
|
122
|
-
// but i'm hoping react 19's activity could mitigate this better and avoid dependence on rns.
|
|
123
|
-
transform: [{
|
|
124
|
-
translateY: HIDDEN_SCREEN_OFFSET
|
|
125
|
-
}]
|
|
126
|
-
}
|
|
75
|
+
hidden: HIDDEN_ACTIVITY_SCREEN_STYLE
|
|
127
76
|
});
|
|
128
77
|
//# sourceMappingURL=activity-screen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","StyleSheet","View","useDerivedValue","Screen","IS_WEB","useStack","useSharedValueState","useBlankStackStore","AnimationStore","DEFAULT_INACTIVE_BEHAVIOR","
|
|
1
|
+
{"version":3,"names":["memo","StyleSheet","View","useDerivedValue","Screen","IS_WEB","useStack","useSharedValueState","useBlankStackStore","AnimationStore","DEFAULT_INACTIVE_BEHAVIOR","HIDDEN_ACTIVITY_SCREEN_STYLE","resolveActivityScreenPresentation","jsx","_jsx","ActivityScreen","children","inactiveBehavior","paintDriverRouteKey","hasNestedState","routeKey","scene","store","scenesByKey","stackPaintDriverRouteKey","paintDriverRouteKeyByRouteKey","get","stackInactiveBehavior","descriptor","options","resolvedInactiveBehavior","resolvedPaintDriverRouteKey","resolvedHasNestedState","route","nativeScreenDisabled","s","flags","DISABLE_NATIVE_SCREENS","paintDriverAnimations","getBag","undefined","isPaintDriverSettled","visualProgress","isPaintDriverSettledOnJS","visible","screenPresentation","activity","waitForPaintDriver","shouldUnmount","style","absoluteFill","styles","hidden","pointerEvents","collapsable","create"],"sourceRoot":"../../../../../../src","sources":["shared/components/activity/variants/activity-screen.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,7 +6,7 @@ import { useComposedSlotStyles, useSlotLayoutStyles } from "../../../providers/s
|
|
|
6
6
|
import { logger } from "../../../utils/logger";
|
|
7
7
|
import { BoundaryContentPortal, BoundaryContentPortalHost } from "../portal/components/boundary-content-portal";
|
|
8
8
|
import { BoundaryPortal } from "../portal/components/boundary-portal";
|
|
9
|
-
import { TARGET_OUTSIDE_ROOT_WARNING,
|
|
9
|
+
import { TARGET_OUTSIDE_ROOT_WARNING, useOptionalBoundaryRootStore } from "../providers/boundary-root.provider";
|
|
10
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
11
|
export const BOUNDARY_TARGET_ACTIVE_PROP = "__boundaryTargetActive";
|
|
12
12
|
const BoundaryTargetInner = props => {
|
|
@@ -17,7 +17,7 @@ const BoundaryTargetInner = props => {
|
|
|
17
17
|
style,
|
|
18
18
|
...rest
|
|
19
19
|
} = props;
|
|
20
|
-
const rootContext =
|
|
20
|
+
const rootContext = useOptionalBoundaryRootStore();
|
|
21
21
|
const boundaryId = rootContext?.boundTag.tag;
|
|
22
22
|
const isActiveTarget = active === true && rootContext !== null;
|
|
23
23
|
const portalRuntime = rootContext?.portalRuntime;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useLayoutEffect","Animated","useComposedSlotStyles","useSlotLayoutStyles","logger","BoundaryContentPortal","BoundaryContentPortalHost","BoundaryPortal","TARGET_OUTSIDE_ROOT_WARNING","
|
|
1
|
+
{"version":3,"names":["memo","useLayoutEffect","Animated","useComposedSlotStyles","useSlotLayoutStyles","logger","BoundaryContentPortal","BoundaryContentPortalHost","BoundaryPortal","TARGET_OUTSIDE_ROOT_WARNING","useOptionalBoundaryRootStore","jsx","_jsx","BOUNDARY_TARGET_ACTIVE_PROP","BoundaryTargetInner","props","active","children","pointerEvents","style","rest","rootContext","boundaryId","boundTag","tag","isActiveTarget","portalRuntime","handoffEnabled","shouldEscapeTargetToScreenHost","escapeClipping","shouldApplyAssociatedStyleInline","shouldApplyPortalLayoutStyle","associatedTargetStyles","portalLayoutStyle","measurementRef","undefined","__DEV__","warn","enabled","placeholderRef","View","ref","collapsable","screenKey","currentScreenKey","BoundaryTarget"],"sourceRoot":"../../../../../../src","sources":["shared/components/boundary/components/boundary-target.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { cloneElement, forwardRef, memo, useMemo } from "react";
|
|
4
4
|
import Animated from "react-native-reanimated";
|
|
5
5
|
import { BOUNDARY_TARGET_ACTIVE_PROP, BoundaryTarget } from "./components/boundary-target";
|
|
6
|
-
import { BoundaryContentPortalHost } from "./portal/components/boundary-content-portal";
|
|
6
|
+
import { BoundaryContentPortal, BoundaryContentPortalHost } from "./portal/components/boundary-content-portal";
|
|
7
7
|
import { BoundaryPortal } from "./portal/components/boundary-portal";
|
|
8
8
|
import { BoundaryRootProvider } from "./providers/boundary-root.provider";
|
|
9
9
|
import { resolveBoundaryTarget } from "./utils/resolve-boundary-target";
|
|
@@ -67,7 +67,11 @@ export function createBoundaryComponent(Wrapped, options = {}) {
|
|
|
67
67
|
boundaryId: root.boundTag.tag,
|
|
68
68
|
enabled: root.shouldRenderHandoffHost,
|
|
69
69
|
screenKey: root.currentScreenKey,
|
|
70
|
-
children:
|
|
70
|
+
children: /*#__PURE__*/_jsx(BoundaryContentPortal, {
|
|
71
|
+
boundaryId: root.boundTag.tag,
|
|
72
|
+
enabled: root.shouldRenderHandoffHost,
|
|
73
|
+
children: targetResolution.children
|
|
74
|
+
})
|
|
71
75
|
})
|
|
72
76
|
})
|
|
73
77
|
})
|