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
|
@@ -1,23 +1,28 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ParamListBase, ParamListRoute, RouteProp } from "@react-navigation/native";
|
|
2
|
+
import type { ReactNode } from "react";
|
|
2
3
|
import type { DerivedValue } from "react-native-reanimated";
|
|
3
4
|
import type { ScreenTransitionConfig } from "./screen.types";
|
|
4
5
|
/**
|
|
5
|
-
*
|
|
6
|
-
* Generic over the navigation type since different stacks have different navigation props.
|
|
6
|
+
* Overlay state without the animated progress value.
|
|
7
7
|
*/
|
|
8
|
+
export type OverlayScreenState<TNavigation = unknown, TParamList extends ParamListBase = ParamListBase, TOwnerRouteName extends keyof TParamList = keyof TParamList> = Omit<OverlayProps<TNavigation, TParamList, TOwnerRouteName>, "progress"> & {
|
|
9
|
+
snapTo: (index: number) => void;
|
|
10
|
+
};
|
|
8
11
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
12
|
+
* Props passed to a floating overlay component.
|
|
13
|
+
*
|
|
14
|
+
* `route` and `index` identify the screen that owns the overlay. Focused
|
|
15
|
+
* values may describe a later screen while that overlay remains visible.
|
|
11
16
|
*/
|
|
12
|
-
export type
|
|
17
|
+
export type OverlayProps<TNavigation = unknown, TParamList extends ParamListBase = ParamListBase, TOwnerRouteName extends keyof TParamList = keyof TParamList> = {
|
|
18
|
+
/** Route that declared this overlay. */
|
|
19
|
+
route: RouteProp<TParamList, TOwnerRouteName>;
|
|
20
|
+
/** Index of the route that declared this overlay. */
|
|
13
21
|
index: number;
|
|
14
|
-
snapTo: (index: number) => void;
|
|
15
|
-
};
|
|
16
|
-
export type OverlayProps<TNavigation = unknown> = {
|
|
17
22
|
/**
|
|
18
23
|
* Route of the currently focused screen in the stack.
|
|
19
24
|
*/
|
|
20
|
-
focusedRoute:
|
|
25
|
+
focusedRoute: ParamListRoute<TParamList>;
|
|
21
26
|
/**
|
|
22
27
|
* Index of the focused route in the stack.
|
|
23
28
|
*/
|
|
@@ -25,7 +30,7 @@ export type OverlayProps<TNavigation = unknown> = {
|
|
|
25
30
|
/**
|
|
26
31
|
* All routes currently in the stack.
|
|
27
32
|
*/
|
|
28
|
-
routes:
|
|
33
|
+
routes: ParamListRoute<TParamList>[];
|
|
29
34
|
/**
|
|
30
35
|
* Custom metadata from the focused screen's options.
|
|
31
36
|
*/
|
|
@@ -44,4 +49,14 @@ export type OverlayProps<TNavigation = unknown> = {
|
|
|
44
49
|
*/
|
|
45
50
|
progress: DerivedValue<number>;
|
|
46
51
|
};
|
|
52
|
+
/**
|
|
53
|
+
* Component rendered for a floating screen overlay.
|
|
54
|
+
*
|
|
55
|
+
* The callback is bivariant because React Navigation stores overlay components
|
|
56
|
+
* in navigator-wide screen options while applications annotate them for one
|
|
57
|
+
* specific route.
|
|
58
|
+
*/
|
|
59
|
+
export type OverlayComponent = {
|
|
60
|
+
bivarianceHack(props: OverlayProps): ReactNode;
|
|
61
|
+
}["bivarianceHack"];
|
|
47
62
|
//# sourceMappingURL=overlay.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlay.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/overlay.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"overlay.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/overlay.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,aAAa,EACb,cAAc,EACd,SAAS,EACT,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAC7B,WAAW,GAAG,OAAO,EACrB,UAAU,SAAS,aAAa,GAAG,aAAa,EAChD,eAAe,SAAS,MAAM,UAAU,GAAG,MAAM,UAAU,IACxD,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,UAAU,EAAE,eAAe,CAAC,EAAE,UAAU,CAAC,GAAG;IAC9E,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,YAAY,CACvB,WAAW,GAAG,OAAO,EACrB,UAAU,SAAS,aAAa,GAAG,aAAa,EAChD,eAAe,SAAS,MAAM,UAAU,GAAG,MAAM,UAAU,IACxD;IACH,wCAAwC;IACxC,KAAK,EAAE,SAAS,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAE9C,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,YAAY,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IAEzC;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;IAErC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/B;;OAEG;IACH,UAAU,EAAE,WAAW,CAAC;IAExB;;OAEG;IACH,OAAO,EAAE,sBAAsB,CAAC;IAEhC;;;OAGG;IACH,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;CAC/B,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC9B,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,CAAC;CAC/C,CAAC,gBAAgB,CAAC,CAAC"}
|
|
@@ -3,7 +3,7 @@ import type { ViewProps } from "react-native";
|
|
|
3
3
|
import type { AnimatedProps } from "react-native-reanimated";
|
|
4
4
|
import type { ScreenStyleInterpolator, TransitionSpec } from "./animation.types";
|
|
5
5
|
import type { GestureActivationArea, GestureDirectionOption, GestureProgressMode, ScrollMetadataState } from "./gesture.types";
|
|
6
|
-
import type {
|
|
6
|
+
import type { OverlayComponent } from "./overlay.types";
|
|
7
7
|
export type Layout = {
|
|
8
8
|
width: number;
|
|
9
9
|
height: number;
|
|
@@ -290,7 +290,7 @@ export type ScreenTransitionConfig = {
|
|
|
290
290
|
/**
|
|
291
291
|
* Function that returns a React Element to display as an overlay.
|
|
292
292
|
*/
|
|
293
|
-
overlay?:
|
|
293
|
+
overlay?: OverlayComponent;
|
|
294
294
|
/**
|
|
295
295
|
* Whether to show the overlay. The overlay is shown by default when `overlay` is provided.
|
|
296
296
|
* Setting this to `false` hides the overlay.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/screen.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EACX,uBAAuB,EACvB,cAAc,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACX,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"screen.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/screen.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EACX,uBAAuB,EACvB,cAAc,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACX,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,MAAM,MAAM,MAAM,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC3B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAC/B,MAAM,MAAM,0BAA0B,GACnC,qBAAqB,GACrB,eAAe,CAAC;AACnB,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE1D;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAExC,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC;AAEhF;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACvC;;;OAGG;IACH,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;IAE1C;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IAE/D;;OAEG;IACH,aAAa,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;CAC1C,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,4BAA4B,GAAG,yBAAyB,CAAC;AAErE;;;GAGG;AACH,MAAM,MAAM,2BAA2B,GAAG,yBAAyB,GAAG;IACrE;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACpB,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,uBAAuB,GAChC,aAAa,CAAC,GAAG,CAAC,GAClB,aAAa,CAAC,4BAA4B,CAAC,CAAC;AAE/C;;;;;;;;GAQG;AACH,MAAM,MAAM,sBAAsB,GAC/B,aAAa,CAAC,GAAG,CAAC,GAClB,aAAa,CAAC,2BAA2B,CAAC,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAErE,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG;IACvE;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACpC;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAElD;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;;;;;;OAOG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;;;;;;;OAUG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAE1C;;;;;;;;;OASG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;;;OAKG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC;;;;;;;;OAQG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAErC;;;;;;;OAOG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC;;;;;;;;;;OAUG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAE1C;;;;;;;;OAQG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAE9C;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/B;;OAEG;IACH,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAE3B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;;;;;;OASG;IACH,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAE7C;;;;;;;;;OASG;IACH,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAE7C;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IAEzB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;;;;;;OAWG;IACH,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;IAExD;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAE5C;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAE1C;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,gBAAgB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;CAC5C,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { SharedValue } from "react-native-reanimated";
|
|
2
2
|
import { type AnimationStoreMap } from "../../stores/animation.store";
|
|
3
3
|
import type { TransitionSpec } from "../../types/animation.types";
|
|
4
4
|
interface AnimateToProgressProps {
|
|
@@ -10,7 +10,6 @@ interface AnimateToProgressProps {
|
|
|
10
10
|
*/
|
|
11
11
|
target: "open" | "close" | number;
|
|
12
12
|
spec?: TransitionSpec;
|
|
13
|
-
onAnimationFinish?: (finished: boolean) => void;
|
|
14
13
|
animations: AnimationStoreMap;
|
|
15
14
|
targetProgress: SharedValue<number>;
|
|
16
15
|
animationProgress: SharedValue<number>;
|
|
@@ -24,6 +23,6 @@ export declare const resolveAnimationProgressRange: (currentProgress: number, ta
|
|
|
24
23
|
from: number;
|
|
25
24
|
to: number;
|
|
26
25
|
};
|
|
27
|
-
export declare const animateToProgress: ({ target, spec,
|
|
26
|
+
export declare const animateToProgress: ({ target, spec, animations, targetProgress, animationProgress, emitWillAnimate, markEntering, initialVelocity, isDragging, }: AnimateToProgressProps) => void;
|
|
28
27
|
export {};
|
|
29
28
|
//# sourceMappingURL=animate-to-progress.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animate-to-progress.d.ts","sourceRoot":"","sources":["../../../../../src/shared/utils/animation/animate-to-progress.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"animate-to-progress.d.ts","sourceRoot":"","sources":["../../../../../src/shared/utils/animation/animate-to-progress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EACN,KAAK,iBAAiB,EAEtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAGlE,UAAU,sBAAsB;IAC/B;;;;;OAKG;IACH,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAClC,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACjC;AAsBD,eAAO,MAAM,6BAA6B,GACzC,iBAAiB,MAAM,EACvB,gBAAgB,MAAM;;;CAOtB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,8HAU/B,sBAAsB,SAiGxB,CAAC"}
|
|
@@ -14,6 +14,10 @@
|
|
|
14
14
|
* - `children`: passed-through children keep their identity across
|
|
15
15
|
* provider-local renders. Factories that wrap children should use a
|
|
16
16
|
* module-level memoized component for the wrapper.
|
|
17
|
+
*
|
|
18
|
+
* Providers created with `global: true` return a `key` from their factory.
|
|
19
|
+
* Their generated store hook accepts that key to subscribe to the original
|
|
20
|
+
* provider store from outside its React context.
|
|
17
21
|
*/
|
|
18
22
|
import { type ReactNode } from "react";
|
|
19
23
|
type ProviderSnapshot<ContextValue, Guarded extends boolean> = Guarded extends true ? ContextValue : ContextValue | null;
|
|
@@ -22,6 +26,20 @@ type ProviderStoreHook<ContextValue, Guarded extends boolean> = {
|
|
|
22
26
|
(): ProviderSnapshot<ContextValue, Guarded>;
|
|
23
27
|
<Selected>(selector: ProviderSelector<ContextValue, Guarded, Selected>): Selected;
|
|
24
28
|
};
|
|
29
|
+
type GlobalProviderStoreHook<ContextValue> = {
|
|
30
|
+
(key: string): ContextValue | null;
|
|
31
|
+
<Selected>(key: string, selector: (value: ContextValue) => Selected): Selected | null;
|
|
32
|
+
};
|
|
33
|
+
type ResolvedProviderStoreHook<ContextValue, Guarded extends boolean, Global extends boolean> = ProviderStoreHook<ContextValue, Guarded> & (Global extends true ? GlobalProviderStoreHook<ContextValue> : unknown);
|
|
34
|
+
type ProviderFactoryResult<ContextValue, Global extends boolean> = {
|
|
35
|
+
value?: ContextValue;
|
|
36
|
+
enabled?: boolean;
|
|
37
|
+
children?: ReactNode;
|
|
38
|
+
} & (Global extends true ? {
|
|
39
|
+
key: string;
|
|
40
|
+
} : {
|
|
41
|
+
key?: never;
|
|
42
|
+
});
|
|
25
43
|
export type ProviderFactoryInternals<ContextValue> = {
|
|
26
44
|
useParentStore: ProviderStoreHook<ContextValue, false>;
|
|
27
45
|
};
|
|
@@ -29,12 +47,9 @@ export interface ProviderStoreApi<ContextValue> {
|
|
|
29
47
|
getSnapshot: () => ContextValue | null;
|
|
30
48
|
subscribe: (listener: () => void) => () => void;
|
|
31
49
|
}
|
|
32
|
-
export default function createProvider<ProviderName extends string, Guarded extends boolean = true>(name: ProviderName, options?: {
|
|
50
|
+
export default function createProvider<ProviderName extends string, Guarded extends boolean = true, Global extends boolean = false>(name: ProviderName, options?: {
|
|
33
51
|
guarded?: Guarded;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
enabled?: boolean;
|
|
37
|
-
children?: ReactNode;
|
|
38
|
-
}) => { [P in ProviderName as `${P}Provider`]: React.FC<ProviderProps>; } & { [P in ProviderName as `use${P}Store`]: ProviderStoreHook<ContextValue, Guarded>; };
|
|
52
|
+
global?: Global;
|
|
53
|
+
}): <ProviderProps extends object, ContextValue>(factory: (props: ProviderProps, internals: ProviderFactoryInternals<ContextValue>) => ProviderFactoryResult<ContextValue, Global>) => { [P in ProviderName as `${P}Provider`]: React.FC<ProviderProps>; } & { [P in ProviderName as `use${P}Store`]: ResolvedProviderStoreHook<ContextValue, Guarded, Global>; };
|
|
39
54
|
export {};
|
|
40
55
|
//# sourceMappingURL=create-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-provider.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/create-provider.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"create-provider.d.ts","sourceRoot":"","sources":["../../../../src/shared/utils/create-provider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAEN,KAAK,SAAS,EAMd,MAAM,OAAO,CAAC;AAEf,KAAK,gBAAgB,CACpB,YAAY,EACZ,OAAO,SAAS,OAAO,IACpB,OAAO,SAAS,IAAI,GAAG,YAAY,GAAG,YAAY,GAAG,IAAI,CAAC;AAE9D,KAAK,gBAAgB,CAAC,YAAY,EAAE,OAAO,SAAS,OAAO,EAAE,QAAQ,IAAI,CACxE,KAAK,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,KAC1C,QAAQ,CAAC;AAEd,KAAK,iBAAiB,CAAC,YAAY,EAAE,OAAO,SAAS,OAAO,IAAI;IAC/D,IAAI,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC,QAAQ,EACR,QAAQ,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC,GACzD,QAAQ,CAAC;CACZ,CAAC;AAEF,KAAK,uBAAuB,CAAC,YAAY,IAAI;IAC5C,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC;IACnC,CAAC,QAAQ,EACR,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,QAAQ,GACzC,QAAQ,GAAG,IAAI,CAAC;CACnB,CAAC;AAEF,KAAK,yBAAyB,CAC7B,YAAY,EACZ,OAAO,SAAS,OAAO,EACvB,MAAM,SAAS,OAAO,IACnB,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,GAC3C,CAAC,MAAM,SAAS,IAAI,GAAG,uBAAuB,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,CAAC;AAEzE,KAAK,qBAAqB,CAAC,YAAY,EAAE,MAAM,SAAS,OAAO,IAAI;IAClE,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACrB,GAAG,CAAC,MAAM,SAAS,IAAI,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC,CAAC;AAE9D,MAAM,MAAM,wBAAwB,CAAC,YAAY,IAAI;IACpD,cAAc,EAAE,iBAAiB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;CACvD,CAAC;AAEF,MAAM,WAAW,gBAAgB,CAAC,YAAY;IAC7C,WAAW,EAAE,MAAM,YAAY,GAAG,IAAI,CAAC;IACvC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;CAChD;AAuJD,MAAM,CAAC,OAAO,UAAU,cAAc,CACrC,YAAY,SAAS,MAAM,EAC3B,OAAO,SAAS,OAAO,GAAG,IAAI,EAC9B,MAAM,SAAS,OAAO,GAAG,KAAK,EAC7B,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,IAC7D,aAAa,SAAS,MAAM,EAAE,YAAY,EACjD,SAAS,CACR,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,wBAAwB,CAAC,YAAY,CAAC,KAC7C,qBAAqB,CAAC,YAAY,EAAE,MAAM,CAAC,KA8M3C,GACH,CAAC,IAAI,YAAY,IAAI,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,GAC9D,GAAG,GACF,CAAC,IAAI,YAAY,IAAI,MAAM,CAAC,OAAO,GAAG,yBAAyB,CAC/D,YAAY,EACZ,OAAO,EACP,MAAM,CACN,GACD,CAEF"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const isCloseActionReplay: (action: unknown) => boolean;
|
|
2
|
+
/** Carries the terminal-removal bypass through React Navigation's action clones. */
|
|
3
|
+
export declare const dispatchCloseAction: <TAction extends object>(action: TAction, dispatch: (action: TAction) => void) => void;
|
|
4
|
+
//# sourceMappingURL=close-action-replay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"close-action-replay.d.ts","sourceRoot":"","sources":["../../../../../src/shared/utils/navigation/close-action-replay.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,mBAAmB,GAAI,QAAQ,OAAO,KAAG,OAGM,CAAC;AAE7D,oFAAoF;AACpF,eAAO,MAAM,mBAAmB,GAAI,OAAO,SAAS,MAAM,EACzD,QAAQ,OAAO,EACf,UAAU,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,SAUnC,CAAC"}
|
package/package.json
CHANGED
|
@@ -80,13 +80,10 @@ const StackViewContent = memo(function StackViewContent() {
|
|
|
80
80
|
const routeKeys = useBlankStackStore(
|
|
81
81
|
(store) => store?.routeKeys ?? EMPTY_ROUTE_KEYS,
|
|
82
82
|
);
|
|
83
|
-
const shouldShowFloatOverlay = useBlankStackStore(
|
|
84
|
-
(store) => store?.shouldShowFloatOverlay ?? false,
|
|
85
|
-
);
|
|
86
83
|
|
|
87
84
|
return (
|
|
88
85
|
<PortalProvider>
|
|
89
|
-
|
|
86
|
+
<Overlay.Float />
|
|
90
87
|
|
|
91
88
|
<ActivityContainer>
|
|
92
89
|
{routeKeys.map((routeKey) => (
|
package/src/blank-stack/types.ts
CHANGED
|
@@ -98,8 +98,14 @@ export interface BlankStackFactoryOptions {
|
|
|
98
98
|
* Props passed to overlay components in blank-stack.
|
|
99
99
|
* Uses the shared OverlayProps type with blank-stack's navigation type.
|
|
100
100
|
*/
|
|
101
|
-
export type BlankStackOverlayProps
|
|
102
|
-
|
|
101
|
+
export type BlankStackOverlayProps<
|
|
102
|
+
ParamList extends ParamListBase = ParamListBase,
|
|
103
|
+
RouteName extends keyof ParamList = keyof ParamList,
|
|
104
|
+
NavigatorID extends string | undefined = undefined,
|
|
105
|
+
> = OverlayProps<
|
|
106
|
+
BlankStackNavigationProp<ParamList, RouteName, NavigatorID>,
|
|
107
|
+
ParamList,
|
|
108
|
+
RouteName
|
|
103
109
|
>;
|
|
104
110
|
|
|
105
111
|
export type BlankStackNavigationOptions = ScreenTransitionConfig & {
|
|
@@ -54,13 +54,10 @@ const StackViewContent = memo(function StackViewContent() {
|
|
|
54
54
|
const routeKeys = useBlankStackStore(
|
|
55
55
|
(store) => store?.routeKeys ?? EMPTY_ROUTE_KEYS,
|
|
56
56
|
);
|
|
57
|
-
const shouldShowFloatOverlay = useBlankStackStore(
|
|
58
|
-
(store) => store?.shouldShowFloatOverlay ?? false,
|
|
59
|
-
);
|
|
60
57
|
|
|
61
58
|
return (
|
|
62
59
|
<Fragment>
|
|
63
|
-
|
|
60
|
+
<Overlay.Float />
|
|
64
61
|
|
|
65
62
|
{routeKeys.map((routeKey) => (
|
|
66
63
|
<ComponentSceneRow key={routeKey} routeKey={routeKey} />
|
|
@@ -74,8 +74,14 @@ type ComponentStackNavigationConfig = {};
|
|
|
74
74
|
*
|
|
75
75
|
* @deprecated Component stack is deprecated. Use blank stack instead.
|
|
76
76
|
*/
|
|
77
|
-
export type ComponentStackOverlayProps
|
|
78
|
-
|
|
77
|
+
export type ComponentStackOverlayProps<
|
|
78
|
+
ParamList extends ParamListBase = ParamListBase,
|
|
79
|
+
RouteName extends keyof ParamList = keyof ParamList,
|
|
80
|
+
NavigatorID extends string | undefined = undefined,
|
|
81
|
+
> = OverlayProps<
|
|
82
|
+
ComponentStackNavigationProp<ParamList, RouteName, NavigatorID>,
|
|
83
|
+
ParamList,
|
|
84
|
+
RouteName
|
|
79
85
|
>;
|
|
80
86
|
|
|
81
87
|
type ComponentStackScreenTransitionConfig = ScreenTransitionConfig & {
|
|
@@ -154,8 +154,14 @@ export type NativeStackHeaderLeftProps = NativeStackHeaderRightProps & {
|
|
|
154
154
|
* Props passed to overlay components in native-stack.
|
|
155
155
|
* Uses the shared OverlayProps type with native-stack's navigation type.
|
|
156
156
|
*/
|
|
157
|
-
export type NativeStackOverlayProps
|
|
158
|
-
|
|
157
|
+
export type NativeStackOverlayProps<
|
|
158
|
+
ParamList extends ParamListBase = ParamListBase,
|
|
159
|
+
RouteName extends keyof ParamList = keyof ParamList,
|
|
160
|
+
NavigatorID extends string | undefined = undefined,
|
|
161
|
+
> = OverlayProps<
|
|
162
|
+
NativeStackNavigationProp<ParamList, RouteName, NavigatorID>,
|
|
163
|
+
ParamList,
|
|
164
|
+
RouteName
|
|
159
165
|
>;
|
|
160
166
|
|
|
161
167
|
/**
|
|
@@ -309,7 +309,9 @@ const SceneView = ({
|
|
|
309
309
|
? // This prop enables handling of system back gestures on Android
|
|
310
310
|
// Since we handle them in JS side, we disable this
|
|
311
311
|
false
|
|
312
|
-
:
|
|
312
|
+
: enableTransitions
|
|
313
|
+
? false
|
|
314
|
+
: nativeGestureEnabled
|
|
313
315
|
}
|
|
314
316
|
homeIndicatorHidden={autoHideHomeIndicator}
|
|
315
317
|
hideKeyboardOnSwipe={keyboardHandlingEnabled}
|
|
@@ -480,14 +482,8 @@ const SceneView = ({
|
|
|
480
482
|
};
|
|
481
483
|
|
|
482
484
|
function NativeStackViewContent() {
|
|
483
|
-
const {
|
|
484
|
-
|
|
485
|
-
navigation,
|
|
486
|
-
descriptors,
|
|
487
|
-
scenes,
|
|
488
|
-
focusedIndex,
|
|
489
|
-
shouldShowFloatOverlay,
|
|
490
|
-
} = useDirectStackStore();
|
|
485
|
+
const { state, navigation, descriptors, scenes, focusedIndex } =
|
|
486
|
+
useDirectStackStore();
|
|
491
487
|
const { setNextDismissedKey } = useDismissedRouteError(state);
|
|
492
488
|
|
|
493
489
|
useInvalidPreventRemoveError(descriptors);
|
|
@@ -496,7 +492,7 @@ function NativeStackViewContent() {
|
|
|
496
492
|
|
|
497
493
|
return (
|
|
498
494
|
<>
|
|
499
|
-
|
|
495
|
+
<Overlay.Float />
|
|
500
496
|
<ScreenStack style={styles.container}>
|
|
501
497
|
{scenes.map((scene, index) => {
|
|
502
498
|
const { route, descriptor, isPreloaded } = scene;
|
|
@@ -182,7 +182,7 @@ function ScreenTransitionsStackContent({
|
|
|
182
182
|
return (
|
|
183
183
|
<ScreenTransitionsAdapterProvider value={adapterContextValue}>
|
|
184
184
|
<StackProvider value={stackContextValue}>
|
|
185
|
-
|
|
185
|
+
<Overlay.Float />
|
|
186
186
|
{children}
|
|
187
187
|
</StackProvider>
|
|
188
188
|
</ScreenTransitionsAdapterProvider>
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { memo } from "react";
|
|
2
|
+
import type { View } from "react-native";
|
|
3
|
+
import type { AnimatedRef } from "react-native-reanimated";
|
|
4
|
+
import { useDescriptorsStore } from "../../../providers/screen/descriptors";
|
|
5
|
+
import type { BoundTag } from "../../../stores/bounds/types";
|
|
6
|
+
import { useBoundaryMeasurement } from "../hooks/use-boundary-measurement";
|
|
7
|
+
import type {
|
|
8
|
+
BoundaryConfigProps,
|
|
9
|
+
BoundaryLocalMeasurementValue,
|
|
10
|
+
} from "../types";
|
|
11
|
+
|
|
12
|
+
interface BoundaryLifecycleProps {
|
|
13
|
+
boundTag: BoundTag;
|
|
14
|
+
config: BoundaryConfigProps;
|
|
15
|
+
currentScreenKey: string;
|
|
16
|
+
enabled: boolean;
|
|
17
|
+
escapeClipping: boolean;
|
|
18
|
+
handoff: boolean;
|
|
19
|
+
localMeasurement: BoundaryLocalMeasurementValue;
|
|
20
|
+
measuredRef: AnimatedRef<View>;
|
|
21
|
+
style?: unknown;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export const BoundaryLifecycle = memo(function BoundaryLifecycle({
|
|
25
|
+
boundTag,
|
|
26
|
+
config,
|
|
27
|
+
currentScreenKey,
|
|
28
|
+
enabled,
|
|
29
|
+
escapeClipping,
|
|
30
|
+
handoff,
|
|
31
|
+
localMeasurement,
|
|
32
|
+
measuredRef,
|
|
33
|
+
style,
|
|
34
|
+
}: BoundaryLifecycleProps) {
|
|
35
|
+
const hasConfiguredInterpolator = useDescriptorsStore(
|
|
36
|
+
(s) => s.derivations.hasConfiguredInterpolator,
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
useBoundaryMeasurement({
|
|
40
|
+
boundTag,
|
|
41
|
+
enabled,
|
|
42
|
+
runtimeEnabled: enabled && hasConfiguredInterpolator,
|
|
43
|
+
currentScreenKey,
|
|
44
|
+
measuredRef,
|
|
45
|
+
style,
|
|
46
|
+
handoff,
|
|
47
|
+
escapeClipping,
|
|
48
|
+
localMeasurement,
|
|
49
|
+
config,
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
return null;
|
|
53
|
+
});
|
package/src/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.ts
CHANGED
|
@@ -39,14 +39,12 @@ const MAX_HANDSHAKE_RETRIES = 20;
|
|
|
39
39
|
interface UseInitialDestinationMeasurementParams {
|
|
40
40
|
boundTag: BoundTag;
|
|
41
41
|
enabled: boolean;
|
|
42
|
-
escapeClipping: boolean;
|
|
43
42
|
measureBoundary: MeasureBoundary;
|
|
44
43
|
}
|
|
45
44
|
|
|
46
45
|
export const useInitialDestinationMeasurement = ({
|
|
47
46
|
boundTag,
|
|
48
47
|
enabled,
|
|
49
|
-
escapeClipping,
|
|
50
48
|
measureBoundary,
|
|
51
49
|
}: UseInitialDestinationMeasurementParams) => {
|
|
52
50
|
const { tag, linkKey, group } = boundTag;
|
|
@@ -142,18 +140,12 @@ export const useInitialDestinationMeasurement = ({
|
|
|
142
140
|
runOnUI(claimLifecycleStartBlock)();
|
|
143
141
|
|
|
144
142
|
return () => {
|
|
145
|
-
if (escapeClipping) {
|
|
146
|
-
// The portal host owns the release after this boundary hands off.
|
|
147
|
-
return;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
143
|
// This is an abandonment fallback, not a second release. Run it on the UI
|
|
151
144
|
// runtime so it serializes with the handshake's guarded release.
|
|
152
145
|
runOnUI(releaseLifecycleStartBlock)();
|
|
153
146
|
};
|
|
154
147
|
}, [
|
|
155
148
|
claimLifecycleStartBlock,
|
|
156
|
-
escapeClipping,
|
|
157
149
|
canReceiveDestination,
|
|
158
150
|
releaseLifecycleStartBlock,
|
|
159
151
|
]);
|
|
@@ -247,12 +239,6 @@ export const useInitialDestinationMeasurement = ({
|
|
|
247
239
|
cancelAnimation(retryToken);
|
|
248
240
|
handshakeRetries.set(0);
|
|
249
241
|
hasFinishedInitialMeasurement.set(1);
|
|
250
|
-
if (escapeClipping) {
|
|
251
|
-
// Screen-level escape has a second readiness phase after destination
|
|
252
|
-
// matching: the host must commit before the transition starts, or
|
|
253
|
-
// the payload can disappear for a frame.
|
|
254
|
-
return;
|
|
255
|
-
}
|
|
256
242
|
releaseLifecycleStartBlock();
|
|
257
243
|
return;
|
|
258
244
|
}
|
|
@@ -33,14 +33,24 @@ export const useRefreshBoundary = ({
|
|
|
33
33
|
refreshScreenKey,
|
|
34
34
|
"willAnimate",
|
|
35
35
|
);
|
|
36
|
+
const refreshSettled = AnimationStore.getValue(
|
|
37
|
+
refreshScreenKey,
|
|
38
|
+
"progressSettled",
|
|
39
|
+
);
|
|
36
40
|
const refreshClosing = AnimationStore.getValue(refreshScreenKey, "closing");
|
|
37
41
|
|
|
38
42
|
useAnimatedReaction(
|
|
39
43
|
() => {
|
|
40
44
|
"worklet";
|
|
41
45
|
|
|
42
|
-
|
|
43
|
-
|
|
46
|
+
if (!enabled) return null;
|
|
47
|
+
|
|
48
|
+
const shouldRefresh = !!refreshWillAnimate.get();
|
|
49
|
+
const settled = !!refreshSettled.get();
|
|
50
|
+
// A group's active member can change while the transition is settled
|
|
51
|
+
// (for example, paging a destination gallery). Let that member publish
|
|
52
|
+
// fresh bounds even though there is no willAnimate lifecycle pulse yet.
|
|
53
|
+
if (!shouldRefresh && (!group || !settled)) {
|
|
44
54
|
return null;
|
|
45
55
|
}
|
|
46
56
|
const sourcePairKey =
|
|
@@ -56,6 +66,7 @@ export const useRefreshBoundary = ({
|
|
|
56
66
|
linkId: linkKey,
|
|
57
67
|
group,
|
|
58
68
|
shouldRefresh,
|
|
69
|
+
settled,
|
|
59
70
|
closing: !!refreshClosing.get(),
|
|
60
71
|
linkState: pairs.get(),
|
|
61
72
|
});
|
|
@@ -3,7 +3,10 @@ import type { View } from "react-native";
|
|
|
3
3
|
import type { AnimatedRef } from "react-native-reanimated";
|
|
4
4
|
import type { BoundTag } from "../../../stores/bounds/types";
|
|
5
5
|
import { prepareStyleForBounds } from "../../../utils/bounds/helpers/styles/styles";
|
|
6
|
-
import type {
|
|
6
|
+
import type {
|
|
7
|
+
BoundaryConfigProps,
|
|
8
|
+
BoundaryLocalMeasurementValue,
|
|
9
|
+
} from "../types";
|
|
7
10
|
import { useBoundaryPresence } from "./lifecycles/use-boundary-presence";
|
|
8
11
|
import { useInitialDestinationMeasurement } from "./lifecycles/use-initial-destination-measurement";
|
|
9
12
|
import { useInitialSourceMeasurement } from "./lifecycles/use-initial-source-measurement";
|
|
@@ -23,6 +26,7 @@ interface UseBoundaryMeasurementParams {
|
|
|
23
26
|
style?: unknown;
|
|
24
27
|
handoff: boolean;
|
|
25
28
|
escapeClipping: boolean;
|
|
29
|
+
localMeasurement: BoundaryLocalMeasurementValue;
|
|
26
30
|
config: BoundaryConfigProps;
|
|
27
31
|
}
|
|
28
32
|
|
|
@@ -40,6 +44,7 @@ export const useBoundaryMeasurement = ({
|
|
|
40
44
|
style,
|
|
41
45
|
handoff,
|
|
42
46
|
escapeClipping,
|
|
47
|
+
localMeasurement,
|
|
43
48
|
config,
|
|
44
49
|
}: UseBoundaryMeasurementParams) => {
|
|
45
50
|
const { anchor, scaleMode, target, method } = config;
|
|
@@ -58,6 +63,7 @@ export const useBoundaryMeasurement = ({
|
|
|
58
63
|
measuredAnimatedRef: measuredRef,
|
|
59
64
|
handoff,
|
|
60
65
|
escapeClipping,
|
|
66
|
+
localMeasurement,
|
|
61
67
|
});
|
|
62
68
|
|
|
63
69
|
// Presence and source capture must not depend on this screen owning an
|
|
@@ -81,7 +87,6 @@ export const useBoundaryMeasurement = ({
|
|
|
81
87
|
useInitialDestinationMeasurement({
|
|
82
88
|
boundTag,
|
|
83
89
|
enabled: runtimeEnabled,
|
|
84
|
-
escapeClipping,
|
|
85
90
|
measureBoundary,
|
|
86
91
|
});
|
|
87
92
|
|
|
@@ -8,7 +8,7 @@ import type { BoundTag } from "../../../stores/bounds/types";
|
|
|
8
8
|
import { ScrollStore } from "../../../stores/scroll.store";
|
|
9
9
|
import { SystemStore } from "../../../stores/system.store";
|
|
10
10
|
import { getVisibilityBlockOffset } from "../../../utils/visibility-block-offset";
|
|
11
|
-
import type { MeasureBoundary } from "../types";
|
|
11
|
+
import type { BoundaryLocalMeasurementValue, MeasureBoundary } from "../types";
|
|
12
12
|
import {
|
|
13
13
|
attachScrollSnapshotToMeasuredBounds,
|
|
14
14
|
correctMeasuredBoundsForVisibilityGate,
|
|
@@ -24,6 +24,7 @@ interface UseMeasurerParams {
|
|
|
24
24
|
measuredAnimatedRef: AnimatedRef<View>;
|
|
25
25
|
handoff: boolean;
|
|
26
26
|
escapeClipping: boolean;
|
|
27
|
+
localMeasurement: BoundaryLocalMeasurementValue;
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
export const useMeasurer = ({
|
|
@@ -34,6 +35,7 @@ export const useMeasurer = ({
|
|
|
34
35
|
measuredAnimatedRef,
|
|
35
36
|
handoff,
|
|
36
37
|
escapeClipping,
|
|
38
|
+
localMeasurement,
|
|
37
39
|
}: UseMeasurerParams): MeasureBoundary => {
|
|
38
40
|
const { width: viewportWidth, height: viewportHeight } =
|
|
39
41
|
useWindowDimensions();
|
|
@@ -66,6 +68,13 @@ export const useMeasurer = ({
|
|
|
66
68
|
viewportHeight,
|
|
67
69
|
});
|
|
68
70
|
|
|
71
|
+
if (escapeClipping && target.type === "source") {
|
|
72
|
+
localMeasurement.set({
|
|
73
|
+
bounds: measured,
|
|
74
|
+
pairKey: target.pairKey,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
|
|
69
78
|
/**
|
|
70
79
|
* - Destination Pass -
|
|
71
80
|
* Be strict while lifecycle start is blocked for destination capture.
|
|
@@ -112,6 +121,7 @@ export const useMeasurer = ({
|
|
|
112
121
|
measuredAnimatedRef,
|
|
113
122
|
handoff,
|
|
114
123
|
escapeClipping,
|
|
124
|
+
localMeasurement,
|
|
115
125
|
viewportWidth,
|
|
116
126
|
viewportHeight,
|
|
117
127
|
scrollState,
|
|
@@ -24,12 +24,17 @@ interface UseBoundaryContentPortalAttachmentParams {
|
|
|
24
24
|
export const useBoundaryContentPortalAttachment = ({
|
|
25
25
|
boundaryId,
|
|
26
26
|
}: UseBoundaryContentPortalAttachmentParams) => {
|
|
27
|
-
const {
|
|
27
|
+
const { slotsMap } = useScreenSlots();
|
|
28
28
|
|
|
29
29
|
const currentScreenKey = useDescriptorsStore(
|
|
30
30
|
(s) => s.derivations.currentScreenKey,
|
|
31
31
|
);
|
|
32
|
+
const nextScreenKey = useDescriptorsStore((s) => s.derivations.nextScreenKey);
|
|
32
33
|
const sourcePairKey = useDescriptorsStore((s) => s.derivations.sourcePairKey);
|
|
34
|
+
const destinationSlots = useScreenSlots(nextScreenKey ?? currentScreenKey);
|
|
35
|
+
const unavailableInterpolatorReady = useSharedValue(0);
|
|
36
|
+
const interpolatorReady =
|
|
37
|
+
destinationSlots?.interpolatorReady ?? unavailableInterpolatorReady;
|
|
33
38
|
|
|
34
39
|
const activeReceiverScreenKey = useStack(resolveActiveHandoffReceiver);
|
|
35
40
|
const previousReceiverScreenKey = useStack(resolvePreviousHandoffReceiver);
|
|
@@ -85,7 +90,7 @@ export const useBoundaryContentPortalAttachment = ({
|
|
|
85
90
|
? link.destination.screenKey
|
|
86
91
|
: null;
|
|
87
92
|
|
|
88
|
-
const
|
|
93
|
+
const isInterpolatorReady = interpolatorReady.get();
|
|
89
94
|
const attachedScreenKey = attachedReceiverScreenKey.get();
|
|
90
95
|
|
|
91
96
|
const nextReceiverScreenKey = resolveHandoffAttachmentCandidate({
|
|
@@ -93,7 +98,7 @@ export const useBoundaryContentPortalAttachment = ({
|
|
|
93
98
|
activeReceiverScreenKey,
|
|
94
99
|
attachedReceiverScreenKey: attachedScreenKey,
|
|
95
100
|
hasActiveCloseFinished,
|
|
96
|
-
interpolatorReady: !!
|
|
101
|
+
interpolatorReady: !!isInterpolatorReady,
|
|
97
102
|
pairChangedDuringClose,
|
|
98
103
|
pairDestinationScreenKey: pairDestination,
|
|
99
104
|
previousReceiverScreenKey,
|
|
@@ -110,7 +115,7 @@ export const useBoundaryContentPortalAttachment = ({
|
|
|
110
115
|
|
|
111
116
|
const activatingPairDestination =
|
|
112
117
|
!!pairDestination &&
|
|
113
|
-
!!
|
|
118
|
+
!!isInterpolatorReady &&
|
|
114
119
|
nextReceiverScreenKey === pairDestination;
|
|
115
120
|
|
|
116
121
|
const canActivateReceiver =
|