react-native-screen-transitions 3.11.2 → 3.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/blank-stack/components/stack-view.js +1 -2
- package/lib/commonjs/blank-stack/components/stack-view.js.map +1 -1
- package/lib/commonjs/component-stack/components/stack-view.js +1 -2
- package/lib/commonjs/component-stack/components/stack-view.js.map +1 -1
- package/lib/commonjs/native-stack/views/NativeStackView.native.js +3 -4
- package/lib/commonjs/native-stack/views/NativeStackView.native.js.map +1 -1
- package/lib/commonjs/shared/adapters/with-screen-transitions/stack-layout.js +1 -1
- package/lib/commonjs/shared/adapters/with-screen-transitions/stack-layout.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/components/boundary-lifecycle.js +36 -0
- package/lib/commonjs/shared/components/boundary/components/boundary-lifecycle.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +1 -13
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js +9 -2
- package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js +3 -2
- package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js +9 -2
- 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 +7 -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/components/host.js +5 -12
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/host.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js +25 -43
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js +13 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js.map +1 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/offset-style.js +8 -31
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/offset-style.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +14 -19
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +8 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js +19 -47
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/index.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js +1 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js +19 -17
- package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
- package/lib/commonjs/shared/components/boundary/utils/refresh-signals.js +19 -5
- package/lib/commonjs/shared/components/boundary/utils/refresh-signals.js.map +1 -1
- package/lib/commonjs/shared/components/overlay/helpers/create-overlay-interpolator-frame.js +30 -0
- package/lib/commonjs/shared/components/overlay/helpers/create-overlay-interpolator-frame.js.map +1 -0
- package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js +40 -22
- package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
- package/lib/commonjs/shared/components/overlay/helpers/retain-ready-overlay-resources.js +21 -0
- package/lib/commonjs/shared/components/overlay/helpers/retain-ready-overlay-resources.js.map +1 -0
- package/lib/commonjs/shared/components/overlay/helpers/run-overlay-slot-interpolator.js +41 -0
- package/lib/commonjs/shared/components/overlay/helpers/run-overlay-slot-interpolator.js.map +1 -0
- package/lib/commonjs/shared/components/overlay/hooks/use-overlay-slot.js +85 -0
- package/lib/commonjs/shared/components/overlay/hooks/use-overlay-slot.js.map +1 -0
- package/lib/commonjs/shared/components/overlay/variations/float-overlay.js +14 -65
- package/lib/commonjs/shared/components/overlay/variations/float-overlay.js.map +1 -1
- package/lib/commonjs/shared/components/overlay/variations/overlay-host.js +89 -16
- package/lib/commonjs/shared/components/overlay/variations/overlay-host.js.map +1 -1
- package/lib/commonjs/shared/components/screen-container/layers/backdrop.js +11 -7
- package/lib/commonjs/shared/components/screen-container/layers/backdrop.js.map +1 -1
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/helpers/close-interception-rules.js +31 -0
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/helpers/close-interception-rules.js.map +1 -0
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-completion.js +26 -0
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-completion.js.map +1 -0
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +64 -87
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js +1 -5
- package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js.map +1 -1
- package/lib/commonjs/shared/components/screen-lifecycle/index.js +9 -6
- package/lib/commonjs/shared/components/screen-lifecycle/index.js.map +1 -1
- package/lib/commonjs/shared/hooks/navigation/use-navigation-helpers.js +28 -6
- package/lib/commonjs/shared/hooks/navigation/use-navigation-helpers.js.map +1 -1
- package/lib/commonjs/shared/providers/helpers/measured-bounds-writes.js +1 -2
- package/lib/commonjs/shared/providers/helpers/measured-bounds-writes.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/animation.provider.js +10 -7
- package/lib/commonjs/shared/providers/screen/animation/animation.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +6 -8
- package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/animation/use-screen-animation.js +8 -2
- package/lib/commonjs/shared/providers/screen/animation/use-screen-animation.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/gestures.provider.js +9 -5
- 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 +10 -5
- package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/ownership/{use-walk-up-and-register-shadowing-claims.js → gesture-ownership-bridge.js} +36 -50
- package/lib/commonjs/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js +4 -5
- package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js +2 -3
- package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +4 -5
- package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js +2 -3
- package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js +9 -5
- package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/constants.js +1 -0
- package/lib/commonjs/shared/providers/screen/styles/constants.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/helpers/transition-visual-state.js +20 -1
- package/lib/commonjs/shared/providers/screen/styles/helpers/transition-visual-state.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/hooks/slot-resolvers.js +14 -15
- 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 +34 -11
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/slot.provider.js +18 -29
- package/lib/commonjs/shared/providers/screen/styles/slot.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/stack/blank-stack-state/blank-stack-controller.js +5 -1
- package/lib/commonjs/shared/providers/stack/blank-stack-state/blank-stack-controller.js.map +1 -1
- package/lib/commonjs/shared/providers/stack/blank-stack-state/helpers/resolve-presented-index.js +18 -0
- package/lib/commonjs/shared/providers/stack/blank-stack-state/helpers/resolve-presented-index.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/blank-stack.provider.js +2 -1
- package/lib/commonjs/shared/providers/stack/blank-stack.provider.js.map +1 -1
- package/lib/commonjs/shared/stores/bounds/internals/links.js +1 -1
- package/lib/commonjs/shared/stores/bounds/internals/links.js.map +1 -1
- package/lib/commonjs/shared/stores/system.store.js +1 -2
- package/lib/commonjs/shared/stores/system.store.js.map +1 -1
- package/lib/commonjs/shared/utils/animation/animate-to-progress.js +0 -22
- package/lib/commonjs/shared/utils/animation/animate-to-progress.js.map +1 -1
- package/lib/commonjs/shared/utils/create-provider.js +119 -10
- package/lib/commonjs/shared/utils/create-provider.js.map +1 -1
- package/lib/commonjs/shared/utils/navigation/close-action-replay.js +22 -0
- package/lib/commonjs/shared/utils/navigation/close-action-replay.js.map +1 -0
- package/lib/module/blank-stack/components/stack-view.js +1 -2
- package/lib/module/blank-stack/components/stack-view.js.map +1 -1
- package/lib/module/component-stack/components/stack-view.js +1 -2
- package/lib/module/component-stack/components/stack-view.js.map +1 -1
- package/lib/module/native-stack/views/NativeStackView.native.js +3 -4
- package/lib/module/native-stack/views/NativeStackView.native.js.map +1 -1
- package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js +1 -1
- package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js.map +1 -1
- package/lib/module/shared/components/boundary/components/boundary-lifecycle.js +32 -0
- package/lib/module/shared/components/boundary/components/boundary-lifecycle.js.map +1 -0
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +1 -13
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js +9 -2
- package/lib/module/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -1
- package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js +3 -2
- package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
- package/lib/module/shared/components/boundary/hooks/use-measurer.js +9 -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 +7 -4
- package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/host.js +5 -12
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/host.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js +27 -45
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js +8 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js.map +1 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/offset-style.js +8 -32
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/offset-style.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +15 -20
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +8 -0
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js +20 -48
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/index.js.map +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js +1 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js.map +1 -1
- package/lib/module/shared/components/boundary/providers/boundary-root.provider.js +20 -18
- package/lib/module/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
- package/lib/module/shared/components/boundary/utils/refresh-signals.js +19 -5
- package/lib/module/shared/components/boundary/utils/refresh-signals.js.map +1 -1
- package/lib/module/shared/components/overlay/helpers/create-overlay-interpolator-frame.js +25 -0
- package/lib/module/shared/components/overlay/helpers/create-overlay-interpolator-frame.js.map +1 -0
- package/lib/module/shared/components/overlay/helpers/get-active-overlay.js +37 -21
- package/lib/module/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
- package/lib/module/shared/components/overlay/helpers/retain-ready-overlay-resources.js +17 -0
- package/lib/module/shared/components/overlay/helpers/retain-ready-overlay-resources.js.map +1 -0
- package/lib/module/shared/components/overlay/helpers/run-overlay-slot-interpolator.js +36 -0
- package/lib/module/shared/components/overlay/helpers/run-overlay-slot-interpolator.js.map +1 -0
- package/lib/module/shared/components/overlay/hooks/use-overlay-slot.js +80 -0
- package/lib/module/shared/components/overlay/hooks/use-overlay-slot.js.map +1 -0
- package/lib/module/shared/components/overlay/variations/float-overlay.js +15 -66
- package/lib/module/shared/components/overlay/variations/float-overlay.js.map +1 -1
- package/lib/module/shared/components/overlay/variations/overlay-host.js +90 -18
- package/lib/module/shared/components/overlay/variations/overlay-host.js.map +1 -1
- package/lib/module/shared/components/screen-container/layers/backdrop.js +12 -8
- package/lib/module/shared/components/screen-container/layers/backdrop.js.map +1 -1
- package/lib/module/shared/components/screen-lifecycle/hooks/helpers/close-interception-rules.js +25 -0
- package/lib/module/shared/components/screen-lifecycle/hooks/helpers/close-interception-rules.js.map +1 -0
- package/lib/module/shared/components/screen-lifecycle/hooks/use-close-completion.js +21 -0
- package/lib/module/shared/components/screen-lifecycle/hooks/use-close-completion.js.map +1 -0
- package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +64 -86
- package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
- package/lib/module/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js +1 -5
- package/lib/module/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js.map +1 -1
- package/lib/module/shared/components/screen-lifecycle/index.js +9 -6
- package/lib/module/shared/components/screen-lifecycle/index.js.map +1 -1
- package/lib/module/shared/hooks/navigation/use-navigation-helpers.js +29 -7
- package/lib/module/shared/hooks/navigation/use-navigation-helpers.js.map +1 -1
- package/lib/module/shared/providers/helpers/measured-bounds-writes.js +1 -2
- package/lib/module/shared/providers/helpers/measured-bounds-writes.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/animation.provider.js +10 -7
- 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 -8
- package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -1
- package/lib/module/shared/providers/screen/animation/use-screen-animation.js +8 -2
- package/lib/module/shared/providers/screen/animation/use-screen-animation.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/gestures.provider.js +10 -6
- package/lib/module/shared/providers/screen/gestures/gestures.provider.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js +10 -5
- package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/ownership/{use-walk-up-and-register-shadowing-claims.js → gesture-ownership-bridge.js} +35 -49
- package/lib/module/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.js.map +1 -0
- package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js +4 -5
- package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js +2 -3
- package/lib/module/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +4 -5
- package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js +2 -3
- package/lib/module/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js.map +1 -1
- package/lib/module/shared/providers/screen/gestures/shared/policy.js +9 -5
- package/lib/module/shared/providers/screen/gestures/shared/policy.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/constants.js +1 -0
- package/lib/module/shared/providers/screen/styles/constants.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/helpers/transition-visual-state.js +18 -0
- package/lib/module/shared/providers/screen/styles/helpers/transition-visual-state.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/hooks/slot-resolvers.js +14 -15
- 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 +35 -12
- package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/slot.provider.js +19 -30
- package/lib/module/shared/providers/screen/styles/slot.provider.js.map +1 -1
- package/lib/module/shared/providers/stack/blank-stack-state/blank-stack-controller.js +5 -1
- package/lib/module/shared/providers/stack/blank-stack-state/blank-stack-controller.js.map +1 -1
- package/lib/module/shared/providers/stack/blank-stack-state/helpers/resolve-presented-index.js +14 -0
- package/lib/module/shared/providers/stack/blank-stack-state/helpers/resolve-presented-index.js.map +1 -0
- package/lib/module/shared/providers/stack/blank-stack.provider.js +2 -1
- package/lib/module/shared/providers/stack/blank-stack.provider.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/system.store.js +1 -2
- package/lib/module/shared/stores/system.store.js.map +1 -1
- package/lib/module/shared/types/animation.types.js.map +1 -1
- package/lib/module/shared/utils/animation/animate-to-progress.js +0 -22
- package/lib/module/shared/utils/animation/animate-to-progress.js.map +1 -1
- package/lib/module/shared/utils/create-provider.js +119 -10
- package/lib/module/shared/utils/create-provider.js.map +1 -1
- package/lib/module/shared/utils/navigation/close-action-replay.js +16 -0
- package/lib/module/shared/utils/navigation/close-action-replay.js.map +1 -0
- package/lib/typescript/blank-stack/components/stack-view.d.ts.map +1 -1
- package/lib/typescript/blank-stack/types.d.ts +1 -1
- package/lib/typescript/blank-stack/types.d.ts.map +1 -1
- package/lib/typescript/component-stack/components/stack-view.d.ts.map +1 -1
- package/lib/typescript/component-stack/types.d.ts +1 -1
- package/lib/typescript/component-stack/types.d.ts.map +1 -1
- package/lib/typescript/native-stack/types.d.ts +1 -1
- package/lib/typescript/native-stack/types.d.ts.map +1 -1
- package/lib/typescript/native-stack/views/NativeStackView.native.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/components/boundary-lifecycle.d.ts +18 -0
- package/lib/typescript/shared/components/boundary/components/boundary-lifecycle.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts +1 -2
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/hooks/use-boundary-measurement.d.ts +3 -2
- package/lib/typescript/shared/components/boundary/hooks/use-boundary-measurement.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/hooks/use-measurer.d.ts +3 -2
- 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/components/host.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.d.ts +5 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.d.ts +4 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.d.ts.map +1 -0
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/offset-style.d.ts +4 -17
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/offset-style.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts +3 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.d.ts +5 -9
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.d.ts +2 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts +2 -1
- package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/types.d.ts +6 -0
- package/lib/typescript/shared/components/boundary/types.d.ts.map +1 -1
- package/lib/typescript/shared/components/boundary/utils/refresh-signals.d.ts +1 -0
- package/lib/typescript/shared/components/boundary/utils/refresh-signals.d.ts.map +1 -1
- package/lib/typescript/shared/components/overlay/helpers/create-overlay-interpolator-frame.d.ts +7 -0
- package/lib/typescript/shared/components/overlay/helpers/create-overlay-interpolator-frame.d.ts.map +1 -0
- package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts +17 -7
- package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts.map +1 -1
- package/lib/typescript/shared/components/overlay/helpers/retain-ready-overlay-resources.d.ts +11 -0
- package/lib/typescript/shared/components/overlay/helpers/retain-ready-overlay-resources.d.ts.map +1 -0
- package/lib/typescript/shared/components/overlay/helpers/run-overlay-slot-interpolator.d.ts +8 -0
- package/lib/typescript/shared/components/overlay/helpers/run-overlay-slot-interpolator.d.ts.map +1 -0
- package/lib/typescript/shared/components/overlay/hooks/use-overlay-slot.d.ts +15 -0
- package/lib/typescript/shared/components/overlay/hooks/use-overlay-slot.d.ts.map +1 -0
- package/lib/typescript/shared/components/overlay/variations/float-overlay.d.ts +1 -1
- package/lib/typescript/shared/components/overlay/variations/float-overlay.d.ts.map +1 -1
- package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts +7 -6
- package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-container/layers/backdrop.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-lifecycle/hooks/helpers/close-interception-rules.d.ts +27 -0
- package/lib/typescript/shared/components/screen-lifecycle/hooks/helpers/close-interception-rules.d.ts.map +1 -0
- package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-completion.d.ts +7 -0
- package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-completion.d.ts.map +1 -0
- package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts +2 -7
- package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-lifecycle/hooks/use-transition-start-controller.d.ts +1 -3
- package/lib/typescript/shared/components/screen-lifecycle/hooks/use-transition-start-controller.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-lifecycle/index.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/navigation/use-navigation-helpers.d.ts +1 -0
- package/lib/typescript/shared/hooks/navigation/use-navigation-helpers.d.ts.map +1 -1
- package/lib/typescript/shared/index.d.ts +12 -12
- package/lib/typescript/shared/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/animation/animation.provider.d.ts +4 -0
- 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 -1
- 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/use-screen-animation.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/gestures.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/hooks/use-screen-gesture-config.d.ts +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/ownership/gesture-ownership-bridge.d.ts +3 -0
- package/lib/typescript/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.d.ts +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.d.ts +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/shared/policy.d.ts +2 -1
- package/lib/typescript/shared/providers/screen/gestures/shared/policy.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/gestures/types.d.ts +2 -0
- package/lib/typescript/shared/providers/screen/gestures/types.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/constants.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/helpers/transition-visual-state.d.ts +7 -0
- package/lib/typescript/shared/providers/screen/styles/helpers/transition-visual-state.d.ts.map +1 -1
- 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 +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/slot.provider.d.ts +5 -5
- package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/stack/blank-stack-state/blank-stack-controller.d.ts.map +1 -1
- package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/resolve-presented-index.d.ts +3 -0
- package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/resolve-presented-index.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/blank-stack.provider.d.ts.map +1 -1
- package/lib/typescript/shared/stores/system.store.d.ts +1 -2
- package/lib/typescript/shared/stores/system.store.d.ts.map +1 -1
- package/lib/typescript/shared/types/animation.types.d.ts +8 -0
- package/lib/typescript/shared/types/animation.types.d.ts.map +1 -1
- package/lib/typescript/shared/types/index.d.ts +1 -1
- package/lib/typescript/shared/types/index.d.ts.map +1 -1
- package/lib/typescript/shared/types/overlay.types.d.ts +26 -11
- package/lib/typescript/shared/types/overlay.types.d.ts.map +1 -1
- package/lib/typescript/shared/types/screen.types.d.ts +2 -2
- package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
- package/lib/typescript/shared/utils/animation/animate-to-progress.d.ts +2 -3
- package/lib/typescript/shared/utils/animation/animate-to-progress.d.ts.map +1 -1
- package/lib/typescript/shared/utils/create-provider.d.ts +21 -6
- package/lib/typescript/shared/utils/create-provider.d.ts.map +1 -1
- package/lib/typescript/shared/utils/navigation/close-action-replay.d.ts +4 -0
- package/lib/typescript/shared/utils/navigation/close-action-replay.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/blank-stack/components/stack-view.tsx +1 -4
- package/src/blank-stack/types.ts +8 -2
- package/src/component-stack/components/stack-view.tsx +1 -4
- package/src/component-stack/types.ts +8 -2
- package/src/native-stack/types.ts +8 -2
- package/src/native-stack/views/NativeStackView.native.tsx +6 -10
- package/src/shared/adapters/with-screen-transitions/stack-layout.tsx +1 -1
- package/src/shared/components/boundary/components/boundary-lifecycle.tsx +53 -0
- package/src/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.ts +0 -14
- package/src/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.ts +13 -2
- package/src/shared/components/boundary/hooks/use-boundary-measurement.ts +7 -2
- package/src/shared/components/boundary/hooks/use-measurer.ts +11 -1
- package/src/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.ts +9 -4
- package/src/shared/components/boundary/portal/components/boundary-portal/components/host.tsx +13 -11
- package/src/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.tsx +44 -55
- package/src/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.ts +10 -0
- package/src/shared/components/boundary/portal/components/boundary-portal/helpers/offset-style.ts +11 -55
- package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.ts +20 -24
- package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts +11 -0
- package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.ts +20 -67
- package/src/shared/components/boundary/portal/components/boundary-portal/index.tsx +1 -0
- package/src/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.ts +3 -2
- package/src/shared/components/boundary/providers/boundary-root.provider.tsx +29 -20
- package/src/shared/components/boundary/types.ts +9 -0
- package/src/shared/components/boundary/utils/refresh-signals.ts +39 -6
- package/src/shared/components/overlay/helpers/create-overlay-interpolator-frame.ts +29 -0
- package/src/shared/components/overlay/helpers/get-active-overlay.ts +62 -20
- package/src/shared/components/overlay/helpers/retain-ready-overlay-resources.ts +38 -0
- package/src/shared/components/overlay/helpers/run-overlay-slot-interpolator.ts +48 -0
- package/src/shared/components/overlay/hooks/use-overlay-slot.ts +103 -0
- package/src/shared/components/overlay/variations/float-overlay.tsx +22 -64
- package/src/shared/components/overlay/variations/overlay-host.tsx +135 -28
- package/src/shared/components/screen-container/layers/backdrop.tsx +11 -7
- package/src/shared/components/screen-lifecycle/hooks/helpers/close-interception-rules.ts +64 -0
- package/src/shared/components/screen-lifecycle/hooks/use-close-completion.ts +28 -0
- package/src/shared/components/screen-lifecycle/hooks/use-close-transition-intent.ts +72 -109
- package/src/shared/components/screen-lifecycle/hooks/use-transition-start-controller.ts +0 -12
- package/src/shared/components/screen-lifecycle/index.tsx +8 -4
- package/src/shared/hooks/navigation/use-navigation-helpers.ts +39 -7
- package/src/shared/index.ts +1 -0
- package/src/shared/providers/helpers/measured-bounds-writes.ts +1 -1
- package/src/shared/providers/screen/animation/animation.provider.tsx +24 -11
- package/src/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.ts +15 -9
- package/src/shared/providers/screen/animation/use-screen-animation.tsx +12 -2
- package/src/shared/providers/screen/gestures/gestures.provider.tsx +18 -7
- package/src/shared/providers/screen/gestures/hooks/use-screen-gesture-config.ts +13 -5
- package/src/shared/providers/screen/gestures/ownership/{use-walk-up-and-register-shadowing-claims.ts → gesture-ownership-bridge.tsx} +44 -54
- package/src/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.ts +4 -6
- package/src/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.ts +1 -3
- package/src/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.ts +4 -6
- package/src/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.ts +2 -8
- package/src/shared/providers/screen/gestures/shared/policy.ts +17 -6
- package/src/shared/providers/screen/gestures/types.ts +2 -0
- package/src/shared/providers/screen/styles/constants.ts +1 -0
- package/src/shared/providers/screen/styles/helpers/transition-visual-state.ts +26 -0
- package/src/shared/providers/screen/styles/hooks/slot-resolvers.tsx +17 -5
- package/src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +51 -12
- package/src/shared/providers/screen/styles/slot.provider.tsx +46 -70
- package/src/shared/providers/stack/blank-stack-state/blank-stack-controller.ts +5 -1
- package/src/shared/providers/stack/blank-stack-state/helpers/resolve-presented-index.ts +22 -0
- package/src/shared/providers/stack/blank-stack.provider.tsx +6 -1
- package/src/shared/stores/bounds/internals/links.ts +1 -1
- package/src/shared/stores/system.store.ts +1 -2
- package/src/shared/types/animation.types.ts +8 -0
- package/src/shared/types/index.ts +1 -1
- package/src/shared/types/overlay.types.ts +41 -14
- package/src/shared/types/screen.types.ts +2 -2
- package/src/shared/utils/animation/animate-to-progress.ts +1 -22
- package/src/shared/utils/create-provider.tsx +221 -19
- package/src/shared/utils/navigation/close-action-replay.ts +25 -0
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.js +0 -30
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.js.map +0 -1
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.js +0 -47
- package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/styles/components/floating-overlay-layer.js +0 -28
- package/lib/commonjs/shared/providers/screen/styles/components/floating-overlay-layer.js.map +0 -1
- package/lib/commonjs/shared/providers/screen/styles/stores/slot-references.store.js +0 -53
- package/lib/commonjs/shared/providers/screen/styles/stores/slot-references.store.js.map +0 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.js +0 -25
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.js.map +0 -1
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.js +0 -40
- package/lib/module/shared/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.js.map +0 -1
- package/lib/module/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js.map +0 -1
- package/lib/module/shared/providers/screen/styles/components/floating-overlay-layer.js +0 -24
- package/lib/module/shared/providers/screen/styles/components/floating-overlay-layer.js.map +0 -1
- package/lib/module/shared/providers/screen/styles/stores/slot-references.store.js +0 -47
- package/lib/module/shared/providers/screen/styles/stores/slot-references.store.js.map +0 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.d.ts +0 -9
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.d.ts.map +0 -1
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.d.ts +0 -9
- package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.d.ts +0 -14
- package/lib/typescript/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/styles/components/floating-overlay-layer.d.ts +0 -7
- package/lib/typescript/shared/providers/screen/styles/components/floating-overlay-layer.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen/styles/stores/slot-references.store.d.ts +0 -6
- package/lib/typescript/shared/providers/screen/styles/stores/slot-references.store.d.ts.map +0 -1
- package/src/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.ts +0 -36
- package/src/shared/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.ts +0 -45
- package/src/shared/providers/screen/styles/components/floating-overlay-layer.tsx +0 -29
- package/src/shared/providers/screen/styles/stores/slot-references.store.ts +0 -72
|
@@ -7,34 +7,107 @@ exports.OverlayHost = void 0;
|
|
|
7
7
|
var _native = require("@react-navigation/native");
|
|
8
8
|
var _react = require("react");
|
|
9
9
|
var _reactNative = require("react-native");
|
|
10
|
-
var _reactNativeReanimated = require("react-native-reanimated");
|
|
10
|
+
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
11
|
+
var _snapTo = require("../../../animation/snap-to");
|
|
12
|
+
var _useStack = require("../../../hooks/navigation/use-stack");
|
|
11
13
|
var _animation = require("../../../providers/screen/animation");
|
|
14
|
+
var _slot = require("../../../providers/screen/styles/slot.provider");
|
|
15
|
+
var _retainReadyOverlayResources = require("../helpers/retain-ready-overlay-resources");
|
|
16
|
+
var _useOverlaySlot = require("../hooks/use-overlay-slot");
|
|
12
17
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
13
19
|
const OverlayHost = exports.OverlayHost = /*#__PURE__*/(0, _react.memo)(function OverlayHost({
|
|
14
20
|
scene,
|
|
15
|
-
|
|
21
|
+
driverScene,
|
|
22
|
+
previousOverlayScene,
|
|
23
|
+
activity,
|
|
24
|
+
layerIndex
|
|
16
25
|
}) {
|
|
17
|
-
const
|
|
18
|
-
const
|
|
26
|
+
const overlayAnimationStore = (0, _animation.useScreenAnimationStore)(scene.route.key);
|
|
27
|
+
const driverAnimationStore = (0, _animation.useScreenAnimationStore)(driverScene.route.key);
|
|
28
|
+
const previousOverlayAnimationStore = (0, _animation.useScreenAnimationStore)(previousOverlayScene?.route.key ?? scene.route.key);
|
|
29
|
+
const driverSlots = (0, _slot.useScreenSlots)(driverScene.route.key);
|
|
30
|
+
const overlayComponentRef = (0, _react.useRef)(scene.descriptor.options.overlay);
|
|
31
|
+
const OverlayComponent = overlayComponentRef.current;
|
|
32
|
+
const readyResourcesRef = (0, _react.useRef)(null);
|
|
33
|
+
readyResourcesRef.current = (0, _retainReadyOverlayResources.retainReadyOverlayResources)(readyResourcesRef.current, overlayAnimationStore, driverScene, driverAnimationStore, driverSlots);
|
|
34
|
+
const readyResources = readyResourcesRef.current;
|
|
35
|
+
if (!OverlayComponent || !readyResources) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(ReadyOverlayHost, {
|
|
39
|
+
scene: scene,
|
|
40
|
+
driverScene: readyResources.driverScene,
|
|
41
|
+
activity: activity,
|
|
42
|
+
layerIndex: layerIndex,
|
|
43
|
+
overlayAnimationStore: readyResources.overlayAnimationStore,
|
|
44
|
+
driverAnimationStore: readyResources.driverAnimationStore,
|
|
45
|
+
previousOverlayAnimationStore: previousOverlayScene ? previousOverlayAnimationStore : undefined,
|
|
46
|
+
driverSlots: readyResources.driverSlots,
|
|
47
|
+
OverlayComponent: OverlayComponent
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
function ReadyOverlayHost({
|
|
51
|
+
scene,
|
|
52
|
+
driverScene,
|
|
53
|
+
activity,
|
|
54
|
+
layerIndex,
|
|
55
|
+
overlayAnimationStore,
|
|
56
|
+
driverAnimationStore,
|
|
57
|
+
previousOverlayAnimationStore,
|
|
58
|
+
driverSlots,
|
|
59
|
+
OverlayComponent
|
|
60
|
+
}) {
|
|
61
|
+
const {
|
|
62
|
+
scenes,
|
|
63
|
+
focusedIndex,
|
|
64
|
+
routeKeys,
|
|
65
|
+
routes
|
|
66
|
+
} = (0, _useStack.useStack)();
|
|
67
|
+
const descriptor = scene.descriptor;
|
|
68
|
+
const focusedScene = scenes[focusedIndex] ?? scenes[scenes.length - 1];
|
|
69
|
+
const focusedDescriptor = focusedScene?.descriptor;
|
|
70
|
+
const {
|
|
71
|
+
animatedProps,
|
|
72
|
+
animatedStyle
|
|
73
|
+
} = (0, _useOverlaySlot.useOverlaySlot)({
|
|
74
|
+
overlayAnimationStore,
|
|
75
|
+
driverAnimationStore,
|
|
76
|
+
previousOverlayAnimationStore: previousOverlayAnimationStore ?? undefined,
|
|
77
|
+
driverInterpolator: driverScene.descriptor.options.screenStyleInterpolator,
|
|
78
|
+
interpolatorReady: driverSlots.interpolatorReady,
|
|
79
|
+
isIncoming: scene.route.key === driverScene.route.key
|
|
80
|
+
});
|
|
19
81
|
const relativeProgress = (0, _reactNativeReanimated.useDerivedValue)(() => {
|
|
20
82
|
"worklet";
|
|
21
83
|
|
|
22
|
-
|
|
84
|
+
overlayAnimationStore.screenInterpolatorPropsRevision.get();
|
|
85
|
+
return overlayAnimationStore.screenInterpolatorProps.get().stackProgress;
|
|
23
86
|
});
|
|
24
87
|
const overlayProps = (0, _react.useMemo)(() => ({
|
|
25
|
-
|
|
88
|
+
route: scene.route,
|
|
89
|
+
index: routeKeys.indexOf(scene.route.key),
|
|
90
|
+
options: focusedDescriptor?.options ?? {},
|
|
91
|
+
routes,
|
|
92
|
+
focusedRoute: focusedScene?.route ?? scene.route,
|
|
93
|
+
focusedIndex,
|
|
94
|
+
meta: focusedDescriptor?.options?.meta,
|
|
95
|
+
navigation: scene.descriptor.navigation,
|
|
96
|
+
snapTo: index => {
|
|
97
|
+
(0, _snapTo.snapDescriptorToIndex)(scene.descriptor, index);
|
|
98
|
+
},
|
|
26
99
|
progress: relativeProgress
|
|
27
|
-
}), [relativeProgress,
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
100
|
+
}), [scene, focusedDescriptor?.options, focusedIndex, focusedScene?.route, relativeProgress, routeKeys, routes]);
|
|
101
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
102
|
+
animatedProps: animatedProps,
|
|
103
|
+
pointerEvents: activity === "active" ? "box-none" : "none",
|
|
104
|
+
style: [styles.container, styles.floating, _reactNative.StyleSheet.absoluteFill, {
|
|
105
|
+
zIndex: 1000 + layerIndex
|
|
106
|
+
}, animatedStyle],
|
|
34
107
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_native.NavigationContext.Provider, {
|
|
35
|
-
value:
|
|
108
|
+
value: descriptor.navigation,
|
|
36
109
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_native.NavigationRouteContext.Provider, {
|
|
37
|
-
value:
|
|
110
|
+
value: descriptor.route,
|
|
38
111
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
39
112
|
pointerEvents: "box-none",
|
|
40
113
|
style: [_reactNative.StyleSheet.absoluteFill, styles.overlay],
|
|
@@ -45,7 +118,7 @@ const OverlayHost = exports.OverlayHost = /*#__PURE__*/(0, _react.memo)(function
|
|
|
45
118
|
})
|
|
46
119
|
})
|
|
47
120
|
});
|
|
48
|
-
}
|
|
121
|
+
}
|
|
49
122
|
const styles = _reactNative.StyleSheet.create({
|
|
50
123
|
overlay: {
|
|
51
124
|
zIndex: 1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_native","require","_react","_reactNative","_reactNativeReanimated","_animation","_jsxRuntime","OverlayHost","exports","memo","scene","
|
|
1
|
+
{"version":3,"names":["_native","require","_react","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_snapTo","_useStack","_animation","_slot","_retainReadyOverlayResources","_useOverlaySlot","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","OverlayHost","exports","memo","scene","driverScene","previousOverlayScene","activity","layerIndex","overlayAnimationStore","useScreenAnimationStore","route","key","driverAnimationStore","previousOverlayAnimationStore","driverSlots","useScreenSlots","overlayComponentRef","useRef","descriptor","options","overlay","OverlayComponent","current","readyResourcesRef","retainReadyOverlayResources","readyResources","jsx","ReadyOverlayHost","undefined","scenes","focusedIndex","routeKeys","routes","useStack","focusedScene","length","focusedDescriptor","animatedProps","animatedStyle","useOverlaySlot","driverInterpolator","screenStyleInterpolator","interpolatorReady","isIncoming","relativeProgress","useDerivedValue","screenInterpolatorPropsRevision","screenInterpolatorProps","stackProgress","overlayProps","useMemo","index","indexOf","focusedRoute","meta","navigation","snapTo","snapDescriptorToIndex","progress","View","pointerEvents","style","styles","container","floating","StyleSheet","absoluteFill","zIndex","children","NavigationContext","Provider","value","NavigationRouteContext","create","flex"],"sourceRoot":"../../../../../../src","sources":["shared/components/overlay/variations/overlay-host.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -24,12 +24,14 @@ const BackdropLayer = exports.BackdropLayer = /*#__PURE__*/(0, _react.memo)(func
|
|
|
24
24
|
isBackdropActive
|
|
25
25
|
}) {
|
|
26
26
|
const {
|
|
27
|
-
|
|
27
|
+
isRemovePrevented,
|
|
28
|
+
requestDismiss
|
|
28
29
|
} = (0, _useNavigationHelpers.useNavigationHelpers)();
|
|
29
30
|
const routeKey = (0, _descriptors.useDescriptorsStore)(store => store.derivations.currentScreenKey);
|
|
30
31
|
const BackdropComponent = (0, _descriptors.useDescriptorsStore)(store => store.options.backdropComponent);
|
|
31
32
|
const rawSnapPoints = (0, _descriptors.useDescriptorsStore)(store => store.options.snapPoints);
|
|
32
|
-
const
|
|
33
|
+
const isGestureDismissEnabled = (0, _descriptors.useDescriptorsStore)(store => store.options.gestureEnabled !== false);
|
|
34
|
+
const canDismiss = isGestureDismissEnabled && !isRemovePrevented;
|
|
33
35
|
const transitionSpec = (0, _descriptors.useDescriptorsStore)(store => store.options.transitionSpec);
|
|
34
36
|
const animations = _animation.AnimationStore.getBag(routeKey);
|
|
35
37
|
const {
|
|
@@ -40,13 +42,13 @@ const BackdropLayer = exports.BackdropLayer = /*#__PURE__*/(0, _react.memo)(func
|
|
|
40
42
|
const AnimatedBackdropComponent = (0, _react.useMemo)(() => BackdropComponent && !(0, _renderComponent.usesLayerRenderProps)(BackdropComponent) ? _reactNativeReanimated.default.createAnimatedComponent(BackdropComponent) : null, [BackdropComponent]);
|
|
41
43
|
const handleBackdropPress = (0, _react.useCallback)(() => {
|
|
42
44
|
if (backdropBehavior === "dismiss") {
|
|
43
|
-
|
|
45
|
+
requestDismiss();
|
|
44
46
|
return;
|
|
45
47
|
}
|
|
46
48
|
if (backdropBehavior === "collapse") {
|
|
47
49
|
// No snap points → fallback to dismiss
|
|
48
50
|
if (!rawSnapPoints || rawSnapPoints.length === 0) {
|
|
49
|
-
|
|
51
|
+
requestDismiss();
|
|
50
52
|
return;
|
|
51
53
|
}
|
|
52
54
|
const gestures = _gesture.GestureStore.getBag(routeKey);
|
|
@@ -79,12 +81,14 @@ const BackdropLayer = exports.BackdropLayer = /*#__PURE__*/(0, _react.memo)(func
|
|
|
79
81
|
spec,
|
|
80
82
|
animations,
|
|
81
83
|
targetProgress,
|
|
82
|
-
animationProgress
|
|
83
|
-
onAnimationFinish: shouldDismiss ? dismissScreen : undefined
|
|
84
|
+
animationProgress
|
|
84
85
|
});
|
|
86
|
+
if (shouldDismiss) {
|
|
87
|
+
(0, _reactNativeReanimated.runOnJS)(requestDismiss)();
|
|
88
|
+
}
|
|
85
89
|
})();
|
|
86
90
|
}
|
|
87
|
-
}, [animations, targetProgress, animationProgress, resolvedAutoSnapPoint, backdropBehavior, rawSnapPoints, canDismiss, transitionSpec,
|
|
91
|
+
}, [animations, targetProgress, animationProgress, resolvedAutoSnapPoint, backdropBehavior, rawSnapPoints, canDismiss, transitionSpec, requestDismiss, routeKey]);
|
|
88
92
|
const animatedBackdropStyle = (0, _styles.useSlotStyles)("backdrop");
|
|
89
93
|
const animatedBackdropProps = (0, _styles.useSlotProps)("backdrop");
|
|
90
94
|
const backdropPointerEvents = isBackdropActive ? "auto" : "none";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_specs","_useNavigationHelpers","_descriptors","_styles","_animation","_gesture","_system","_animateToProgress","_findCollapseTarget","_renderComponent","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BackdropLayer","exports","memo","backdropBehavior","isBackdropActive","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_specs","_useNavigationHelpers","_descriptors","_styles","_animation","_gesture","_system","_animateToProgress","_findCollapseTarget","_renderComponent","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BackdropLayer","exports","memo","backdropBehavior","isBackdropActive","isRemovePrevented","requestDismiss","useNavigationHelpers","routeKey","useDescriptorsStore","store","derivations","currentScreenKey","BackdropComponent","options","backdropComponent","rawSnapPoints","snapPoints","isGestureDismissEnabled","gestureEnabled","canDismiss","transitionSpec","animations","AnimationStore","getBag","targetProgress","animationProgress","resolvedAutoSnapPoint","SystemStore","AnimatedBackdropComponent","useMemo","usesLayerRenderProps","Animated","createAnimatedComponent","handleBackdropPress","useCallback","length","gestures","GestureStore","runOnUI","resolvedSnaps","point","resolvedPoint","push","target","shouldDismiss","findCollapseTarget","transitionProgress","dismissing","spec","open","expand","DefaultSnapSpec","close","collapse","animateToProgress","markEntering","runOnJS","animatedBackdropStyle","useSlotStyles","animatedBackdropProps","useSlotProps","backdropPointerEvents","backdropStyles","StyleSheet","absoluteFill","backdropProps","jsx","Pressable","style","pointerEvents","onPress","undefined","children","animatedProps","styles","props","View"],"sourceRoot":"../../../../../../src","sources":["shared/components/screen-container/layers/backdrop.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/shared/components/screen-lifecycle/hooks/helpers/close-interception-rules.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.shouldInterceptClose = exports.doesNavigatorOwnCloseAction = void 0;
|
|
7
|
+
const containsRouteKey = (routes, routeKey) => routes.some(route => route.key === routeKey || (route.state ? containsRouteKey(route.state.routes, routeKey) : false));
|
|
8
|
+
const doesNavigatorOwnCloseAction = ({
|
|
9
|
+
state,
|
|
10
|
+
action
|
|
11
|
+
}) => {
|
|
12
|
+
if (typeof action.target === "string") {
|
|
13
|
+
return action.target === state.key;
|
|
14
|
+
}
|
|
15
|
+
if (typeof action.source === "string") {
|
|
16
|
+
return containsRouteKey(state.routes, action.source);
|
|
17
|
+
}
|
|
18
|
+
return true;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
/** Only the focused removable route owns a stack close transition. */
|
|
22
|
+
exports.doesNavigatorOwnCloseAction = doesNavigatorOwnCloseAction;
|
|
23
|
+
const shouldInterceptClose = ({
|
|
24
|
+
enabled,
|
|
25
|
+
ownsAction,
|
|
26
|
+
ancestorDismissing,
|
|
27
|
+
routeIndex,
|
|
28
|
+
focusedIndex
|
|
29
|
+
}) => enabled && ownsAction && !ancestorDismissing && routeIndex > 0 && routeIndex === focusedIndex;
|
|
30
|
+
exports.shouldInterceptClose = shouldInterceptClose;
|
|
31
|
+
//# sourceMappingURL=close-interception-rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["containsRouteKey","routes","routeKey","some","route","key","state","doesNavigatorOwnCloseAction","action","target","source","exports","shouldInterceptClose","enabled","ownsAction","ancestorDismissing","routeIndex","focusedIndex"],"sourceRoot":"../../../../../../../src","sources":["shared/components/screen-lifecycle/hooks/helpers/close-interception-rules.ts"],"mappings":";;;;;;AAuBA,MAAMA,gBAAgB,GAAGA,CACxBC,MAA6B,EAC7BC,QAAgB,KAEhBD,MAAM,CAACE,IAAI,CACTC,KAAK,IACLA,KAAK,CAACC,GAAG,KAAKH,QAAQ,KACrBE,KAAK,CAACE,KAAK,GAAGN,gBAAgB,CAACI,KAAK,CAACE,KAAK,CAACL,MAAM,EAAEC,QAAQ,CAAC,GAAG,KAAK,CACvE,CAAC;AAEK,MAAMK,2BAA2B,GAAGA,CAAC;EAC3CD,KAAK;EACLE;AAID,CAAC,KAAc;EACd,IAAI,OAAOA,MAAM,CAACC,MAAM,KAAK,QAAQ,EAAE;IACtC,OAAOD,MAAM,CAACC,MAAM,KAAKH,KAAK,CAACD,GAAG;EACnC;EAEA,IAAI,OAAOG,MAAM,CAACE,MAAM,KAAK,QAAQ,EAAE;IACtC,OAAOV,gBAAgB,CAACM,KAAK,CAACL,MAAM,EAAEO,MAAM,CAACE,MAAM,CAAC;EACrD;EAEA,OAAO,IAAI;AACZ,CAAC;;AAED;AAAAC,OAAA,CAAAJ,2BAAA,GAAAA,2BAAA;AACO,MAAMK,oBAAoB,GAAGA,CAAC;EACpCC,OAAO;EACPC,UAAU;EACVC,kBAAkB;EAClBC,UAAU;EACVC;AACuB,CAAC,KACxBJ,OAAO,IACPC,UAAU,IACV,CAACC,kBAAkB,IACnBC,UAAU,GAAG,CAAC,IACdA,UAAU,KAAKC,YAAY;AAACN,OAAA,CAAAC,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useCloseCompletion = void 0;
|
|
7
|
+
var _reactNativeReanimated = require("react-native-reanimated");
|
|
8
|
+
const useCloseCompletion = ({
|
|
9
|
+
closing,
|
|
10
|
+
animationProgress,
|
|
11
|
+
onComplete
|
|
12
|
+
}) => {
|
|
13
|
+
(0, _reactNativeReanimated.useAnimatedReaction)(() => {
|
|
14
|
+
"worklet";
|
|
15
|
+
|
|
16
|
+
return !!closing.get() && animationProgress.get() <= 0;
|
|
17
|
+
}, (complete, previouslyComplete) => {
|
|
18
|
+
"worklet";
|
|
19
|
+
|
|
20
|
+
if (complete && !previouslyComplete) {
|
|
21
|
+
(0, _reactNativeReanimated.runOnJS)(onComplete)();
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
exports.useCloseCompletion = useCloseCompletion;
|
|
26
|
+
//# sourceMappingURL=use-close-completion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNativeReanimated","require","useCloseCompletion","closing","animationProgress","onComplete","useAnimatedReaction","get","complete","previouslyComplete","runOnJS","exports"],"sourceRoot":"../../../../../../src","sources":["shared/components/screen-lifecycle/hooks/use-close-completion.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAMO,MAAMC,kBAAkB,GAAGA,CAAC;EAClCC,OAAO;EACPC,iBAAiB;EACjBC;AAKD,CAAC,KAAK;EACL,IAAAC,0CAAmB,EAClB,MAAM;IACL,SAAS;;IACT,OAAO,CAAC,CAACH,OAAO,CAACI,GAAG,CAAC,CAAC,IAAIH,iBAAiB,CAACG,GAAG,CAAC,CAAC,IAAI,CAAC;EACvD,CAAC,EACD,CAACC,QAAQ,EAAEC,kBAAkB,KAAK;IACjC,SAAS;;IACT,IAAID,QAAQ,IAAI,CAACC,kBAAkB,EAAE;MACpC,IAAAC,8BAAO,EAACL,UAAU,CAAC,CAAC,CAAC;IACtB;EACD,CACD,CAAC;AACF,CAAC;AAACM,OAAA,CAAAT,kBAAA,GAAAA,kBAAA","ignoreList":[]}
|
package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js
CHANGED
|
@@ -5,119 +5,96 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.useCloseTransitionIntent = useCloseTransitionIntent;
|
|
7
7
|
var _react = require("react");
|
|
8
|
+
var _useNavigationHelpers = require("../../../hooks/navigation/use-navigation-helpers");
|
|
8
9
|
var _useStableCallback = _interopRequireDefault(require("../../../hooks/use-stable-callback"));
|
|
10
|
+
var _hasTransitionsEnabled = require("../../../providers/screen/animation/helpers/has-transitions-enabled");
|
|
9
11
|
var _descriptors = require("../../../providers/screen/descriptors");
|
|
10
12
|
var _blankStack = require("../../../providers/stack/blank-stack.provider");
|
|
11
13
|
var _core = require("../../../providers/stack/core.provider");
|
|
12
14
|
var _gesture = require("../../../stores/gesture.store");
|
|
13
|
-
var _system = require("../../../stores/system.store");
|
|
14
15
|
var _stack = require("../../../types/stack.types");
|
|
16
|
+
var _closeActionReplay = require("../../../utils/navigation/close-action-replay");
|
|
17
|
+
var _closeInterceptionRules = require("./helpers/close-interception-rules");
|
|
15
18
|
var _resetStoresForScreen = require("./helpers/reset-stores-for-screen");
|
|
16
19
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}) => {
|
|
20
|
+
function useCloseTransitionIntent(current) {
|
|
21
|
+
const routeKey = current.route.key;
|
|
22
|
+
const {
|
|
23
|
+
STACK_TYPE: stackType,
|
|
24
|
+
TRANSITIONS_ALWAYS_ON: transitionsAlwaysOn
|
|
25
|
+
} = (0, _core.useStackCoreStore)(store => store.flags);
|
|
24
26
|
const handleCloseRoute = (0, _blankStack.useBlankStackStore)(store => store?.handleCloseRoute);
|
|
25
|
-
const
|
|
26
|
-
(0,
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
const handleBlankStackCloseEnd = (0, _useStableCallback.default)(finished => {
|
|
33
|
-
if (!finished) return;
|
|
34
|
-
if (!handleCloseRoute) {
|
|
35
|
-
throw new Error("Blank stack close handler was not found.");
|
|
36
|
-
}
|
|
37
|
-
handleCloseRoute({
|
|
38
|
-
route: current.route
|
|
39
|
-
});
|
|
40
|
-
requestAnimationFrame(() => {
|
|
41
|
-
resetStores();
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
return {
|
|
45
|
-
handleBlankStackCloseEnd
|
|
46
|
-
};
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Native stack close - listens to beforeRemove navigation event.
|
|
51
|
-
*/
|
|
52
|
-
const useNativeStackClose = ({
|
|
53
|
-
current,
|
|
54
|
-
requestLifecycleTransition,
|
|
55
|
-
resetStores
|
|
56
|
-
}) => {
|
|
57
|
-
const parentScreenKey = (0, _descriptors.useDescriptorsStore)(store => store.derivations.parentScreenKey);
|
|
27
|
+
const isBlankStackClosing = (0, _blankStack.useBlankStackStore)(store => store?.scenesByKey[routeKey]?.activity === "closing");
|
|
28
|
+
const ancestorKeys = (0, _descriptors.useDescriptorsStore)(store => store.derivations.ancestorKeys);
|
|
29
|
+
const parentScreenKey = ancestorKeys[0];
|
|
30
|
+
const {
|
|
31
|
+
dismissScreen,
|
|
32
|
+
requestDismiss
|
|
33
|
+
} = (0, _useNavigationHelpers.useNavigationHelpers)();
|
|
58
34
|
const pendingActionRef = (0, _react.useRef)(null);
|
|
59
35
|
const nearestAncestorDismissing = (0, _react.useMemo)(() => {
|
|
60
36
|
if (!parentScreenKey) return null;
|
|
61
37
|
return _gesture.GestureStore.peekBag(parentScreenKey)?.dismissing ?? null;
|
|
62
38
|
}, [parentScreenKey]);
|
|
63
|
-
|
|
64
|
-
if (
|
|
65
|
-
|
|
66
|
-
return;
|
|
39
|
+
(0, _react.useLayoutEffect)(() => {
|
|
40
|
+
if (isBlankStackClosing) {
|
|
41
|
+
requestDismiss();
|
|
67
42
|
}
|
|
68
|
-
|
|
43
|
+
}, [isBlankStackClosing, requestDismiss]);
|
|
44
|
+
const completeClose = (0, _useStableCallback.default)(() => {
|
|
45
|
+
const pendingAction = pendingActionRef.current;
|
|
69
46
|
pendingActionRef.current = null;
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
47
|
+
if (pendingAction) {
|
|
48
|
+
(0, _closeActionReplay.dispatchCloseAction)(pendingAction, action => {
|
|
49
|
+
current.navigation.dispatch(action);
|
|
50
|
+
});
|
|
51
|
+
} else if (stackType !== _stack.StackType.NATIVE && handleCloseRoute) {
|
|
52
|
+
handleCloseRoute({
|
|
53
|
+
route: current.route
|
|
54
|
+
});
|
|
55
|
+
} else {
|
|
56
|
+
dismissScreen();
|
|
57
|
+
}
|
|
58
|
+
(0, _resetStoresForScreen.resetStoresForScreen)(routeKey);
|
|
73
59
|
});
|
|
74
|
-
const handleBeforeRemove = (0, _useStableCallback.default)(
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
const
|
|
79
|
-
const state = navigation.getState();
|
|
60
|
+
const handleBeforeRemove = (0, _useStableCallback.default)(event => {
|
|
61
|
+
if ((0, _closeActionReplay.isCloseActionReplay)(event.data.action)) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
const state = current.navigation.getState();
|
|
80
65
|
const routeIndex = state.routes.findIndex(route => route.key === routeKey);
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
|
|
66
|
+
const action = event.data.action;
|
|
67
|
+
const ownsAction = (0, _closeInterceptionRules.doesNavigatorOwnCloseAction)({
|
|
68
|
+
state,
|
|
69
|
+
action
|
|
70
|
+
});
|
|
71
|
+
const shouldIntercept = (0, _closeInterceptionRules.shouldInterceptClose)({
|
|
72
|
+
enabled: (0, _hasTransitionsEnabled.hasTransitionsEnabled)(current.options, transitionsAlwaysOn),
|
|
73
|
+
ownsAction,
|
|
74
|
+
ancestorDismissing: !!nearestAncestorDismissing?.get(),
|
|
75
|
+
routeIndex,
|
|
76
|
+
focusedIndex: state.index
|
|
77
|
+
});
|
|
78
|
+
if (!shouldIntercept) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
pendingActionRef.current ??= event.data.action;
|
|
82
|
+
if (!requestDismiss()) {
|
|
83
|
+
pendingActionRef.current = null;
|
|
84
84
|
return;
|
|
85
85
|
}
|
|
86
|
-
|
|
87
|
-
pendingActionRef.current = e.data.action;
|
|
88
|
-
requestLifecycleTransition(_system.LifecycleTransitionRequestKind.NativeClose, 0);
|
|
86
|
+
event.preventDefault();
|
|
89
87
|
});
|
|
90
88
|
|
|
91
89
|
// biome-ignore lint/correctness/useExhaustiveDependencies: navigation listener should only rebind when the navigator instance changes
|
|
92
90
|
(0, _react.useLayoutEffect)(() => {
|
|
91
|
+
if (stackType !== _stack.StackType.NATIVE) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
93
94
|
return current.navigation.addListener?.("beforeRemove", handleBeforeRemove);
|
|
94
|
-
}, [current.navigation]);
|
|
95
|
+
}, [current.navigation, stackType]);
|
|
95
96
|
return {
|
|
96
|
-
|
|
97
|
-
};
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* Handles close transition intent and returns finish callbacks for cleanup.
|
|
102
|
-
*/
|
|
103
|
-
function useCloseTransitionIntent(current, system) {
|
|
104
|
-
const routeKey = current.route.key;
|
|
105
|
-
const stackType = (0, _core.useStackCoreStore)(store => store.flags.STACK_TYPE);
|
|
106
|
-
const isNativeStack = stackType === _stack.StackType.NATIVE;
|
|
107
|
-
const {
|
|
108
|
-
requestLifecycleTransition
|
|
109
|
-
} = system.actions;
|
|
110
|
-
const resetStores = (0, _useStableCallback.default)(() => {
|
|
111
|
-
(0, _resetStoresForScreen.resetStoresForScreen)(routeKey);
|
|
112
|
-
});
|
|
113
|
-
const closeParams = {
|
|
114
|
-
current,
|
|
115
|
-
requestLifecycleTransition,
|
|
116
|
-
resetStores
|
|
97
|
+
completeClose
|
|
117
98
|
};
|
|
118
|
-
if (isNativeStack) {
|
|
119
|
-
return useNativeStackClose(closeParams);
|
|
120
|
-
}
|
|
121
|
-
return useBlankStackClose(closeParams);
|
|
122
99
|
}
|
|
123
100
|
//# sourceMappingURL=use-close-transition-intent.js.map
|
package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_useStableCallback","_interopRequireDefault","_descriptors","_blankStack","_core","_gesture","
|
|
1
|
+
{"version":3,"names":["_react","require","_useNavigationHelpers","_useStableCallback","_interopRequireDefault","_hasTransitionsEnabled","_descriptors","_blankStack","_core","_gesture","_stack","_closeActionReplay","_closeInterceptionRules","_resetStoresForScreen","e","__esModule","default","useCloseTransitionIntent","current","routeKey","route","key","STACK_TYPE","stackType","TRANSITIONS_ALWAYS_ON","transitionsAlwaysOn","useStackCoreStore","store","flags","handleCloseRoute","useBlankStackStore","isBlankStackClosing","scenesByKey","activity","ancestorKeys","useDescriptorsStore","derivations","parentScreenKey","dismissScreen","requestDismiss","useNavigationHelpers","pendingActionRef","useRef","nearestAncestorDismissing","useMemo","GestureStore","peekBag","dismissing","useLayoutEffect","completeClose","useStableCallback","pendingAction","dispatchCloseAction","action","navigation","dispatch","StackType","NATIVE","resetStoresForScreen","handleBeforeRemove","event","isCloseActionReplay","data","state","getState","routeIndex","routes","findIndex","ownsAction","doesNavigatorOwnCloseAction","shouldIntercept","shouldInterceptClose","enabled","hasTransitionsEnabled","options","ancestorDismissing","get","focusedIndex","index","preventDefault","addListener"],"sourceRoot":"../../../../../../src","sources":["shared/components/screen-lifecycle/hooks/use-close-transition-intent.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js
CHANGED
|
@@ -11,9 +11,7 @@ var _animateToProgress = require("../../../utils/animation/animate-to-progress")
|
|
|
11
11
|
const useTransitionStartController = ({
|
|
12
12
|
current,
|
|
13
13
|
animations,
|
|
14
|
-
system
|
|
15
|
-
onBlankStackCloseFinish,
|
|
16
|
-
onNativeCloseFinish
|
|
14
|
+
system
|
|
17
15
|
}) => {
|
|
18
16
|
const {
|
|
19
17
|
targetProgress,
|
|
@@ -41,7 +39,6 @@ const useTransitionStartController = ({
|
|
|
41
39
|
if (blockCount > 0) {
|
|
42
40
|
return;
|
|
43
41
|
}
|
|
44
|
-
const onAnimationFinish = kind === _system.LifecycleTransitionRequestKind.BlankStackClose ? onBlankStackCloseFinish : kind === _system.LifecycleTransitionRequestKind.NativeClose ? onNativeCloseFinish : undefined;
|
|
45
42
|
(0, _animateToProgress.animateToProgress)({
|
|
46
43
|
target,
|
|
47
44
|
spec: transitionSpec,
|
|
@@ -49,7 +46,6 @@ const useTransitionStartController = ({
|
|
|
49
46
|
animations,
|
|
50
47
|
targetProgress,
|
|
51
48
|
animationProgress,
|
|
52
|
-
onAnimationFinish,
|
|
53
49
|
isDragging
|
|
54
50
|
});
|
|
55
51
|
clearLifecycleTransitionRequest();
|
package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeReanimated","require","_gesture","_system","_animateToProgress","useTransitionStartController","current","animations","system","
|
|
1
|
+
{"version":3,"names":["_reactNativeReanimated","require","_gesture","_system","_animateToProgress","useTransitionStartController","current","animations","system","targetProgress","animationProgress","pendingLifecycleRequestKind","pendingLifecycleRequestTarget","pendingLifecycleStartBlockCount","clearLifecycleTransitionRequest","actions","transitionSpec","options","isDragging","GestureStore","getValue","route","key","useAnimatedReaction","get","next","kind","target","blockCount","LifecycleTransitionRequestKind","None","animateToProgress","spec","emitWillAnimate","Open","entering","exports"],"sourceRoot":"../../../../../../src","sources":["shared/components/screen-lifecycle/hooks/use-transition-start-controller.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAGA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAIA,IAAAG,kBAAA,GAAAH,OAAA;AAEO,MAAMI,4BAA4B,GAAGA,CAAC;EAC5CC,OAAO;EACPC,UAAU;EACVC;AAKD,CAAC,KAAK;EACL,MAAM;IACLC,cAAc;IACdC,iBAAiB;IACjBC,2BAA2B;IAC3BC,6BAA6B;IAC7BC;EACD,CAAC,GAAGL,MAAM;EACV,MAAM;IAAEM;EAAgC,CAAC,GAAGN,MAAM,CAACO,OAAO;EAC1D,MAAMC,cAAc,GAAGV,OAAO,CAACW,OAAO,CAACD,cAAc;EACrD,MAAME,UAAU,GAAGC,qBAAY,CAACC,QAAQ,CAACd,OAAO,CAACe,KAAK,CAACC,GAAG,EAAE,UAAU,CAAC;EAEvE,IAAAC,0CAAmB,EAClB,MAAM;IACL,SAAS;;IACT,OAAO,CACNZ,2BAA2B,CAACa,GAAG,CAAC,CAAC,EACjCZ,6BAA6B,CAACY,GAAG,CAAC,CAAC,EACnCX,+BAA+B,CAACW,GAAG,CAAC,CAAC,CACrC;EACF,CAAC,EACAC,IAAI,IAAK;IACT,SAAS;;IACT,MAAM,CAACC,IAAI,EAAEC,MAAM,EAAEC,UAAU,CAAC,GAAGH,IAAI;IAEvC,IAAIC,IAAI,KAAKG,sCAA8B,CAACC,IAAI,EAAE;MACjD;IACD;IAEA,IAAIF,UAAU,GAAG,CAAC,EAAE;MACnB;IACD;IAEA,IAAAG,oCAAiB,EAAC;MACjBJ,MAAM;MACNK,IAAI,EAAEhB,cAAc;MACpBiB,eAAe,EACdP,IAAI,KAAKG,sCAA8B,CAACK,IAAI,IAC5C,CAAC3B,UAAU,CAAC4B,QAAQ,CAACX,GAAG,CAAC,CAAC;MAC3BjB,UAAU;MACVE,cAAc;MACdC,iBAAiB;MACjBQ;IACD,CAAC,CAAC;IAEFJ,+BAA+B,CAAC,CAAC;EAClC,CACD,CAAC;AACF,CAAC;AAACsB,OAAA,CAAA/B,4BAAA,GAAAA,4BAAA","ignoreList":[]}
|
|
@@ -8,6 +8,7 @@ var _descriptors = require("../../providers/screen/descriptors");
|
|
|
8
8
|
var _animation = require("../../stores/animation.store");
|
|
9
9
|
var _system = require("../../stores/system.store");
|
|
10
10
|
var _useScreenHistory = require("./hooks/history/use-screen-history");
|
|
11
|
+
var _useCloseCompletion = require("./hooks/use-close-completion");
|
|
11
12
|
var _useCloseTransitionIntent = require("./hooks/use-close-transition-intent");
|
|
12
13
|
var _useOpenTransitionIntent = require("./hooks/use-open-transition-intent");
|
|
13
14
|
var _useTransitionStartController = require("./hooks/use-transition-start-controller");
|
|
@@ -23,16 +24,18 @@ const ScreenLifecycle = ({
|
|
|
23
24
|
const animations = _animation.AnimationStore.getBag(current.route.key);
|
|
24
25
|
const system = _system.SystemStore.getBag(current.route.key);
|
|
25
26
|
const {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
} = (0, _useCloseTransitionIntent.useCloseTransitionIntent)(current, system);
|
|
27
|
+
completeClose
|
|
28
|
+
} = (0, _useCloseTransitionIntent.useCloseTransitionIntent)(current);
|
|
29
29
|
(0, _useOpenTransitionIntent.useOpenTransitionIntent)(current, animations, system);
|
|
30
30
|
(0, _useTransitionStartController.useTransitionStartController)({
|
|
31
31
|
current,
|
|
32
32
|
animations,
|
|
33
|
-
system
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
system
|
|
34
|
+
});
|
|
35
|
+
(0, _useCloseCompletion.useCloseCompletion)({
|
|
36
|
+
closing: animations.closing,
|
|
37
|
+
animationProgress: system.animationProgress,
|
|
38
|
+
onComplete: completeClose
|
|
36
39
|
});
|
|
37
40
|
(0, _useScreenHistory.useScreenHistory)(current, previous, animations);
|
|
38
41
|
return children;
|