react-native-screen-transitions 3.1.0 → 3.2.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +103 -8
- package/lib/commonjs/blank-stack/components/adjusted-screen-container.js +36 -0
- package/lib/commonjs/blank-stack/components/adjusted-screen-container.js.map +1 -0
- package/lib/commonjs/blank-stack/components/{screens.js → adjusted-screen.js} +33 -13
- package/lib/commonjs/blank-stack/components/adjusted-screen.js.map +1 -0
- package/lib/commonjs/blank-stack/components/stack-view.js +44 -61
- package/lib/commonjs/blank-stack/components/stack-view.js.map +1 -1
- package/lib/commonjs/blank-stack/components/stack-view.native.js +81 -0
- package/lib/commonjs/blank-stack/components/stack-view.native.js.map +1 -0
- package/lib/commonjs/component-stack/components/component-screen-container.js +23 -0
- package/lib/commonjs/component-stack/components/component-screen-container.js.map +1 -0
- package/lib/commonjs/component-stack/components/component-screen.js +36 -0
- package/lib/commonjs/component-stack/components/component-screen.js.map +1 -0
- package/lib/commonjs/component-stack/components/stack-view.js +64 -0
- package/lib/commonjs/component-stack/components/stack-view.js.map +1 -0
- package/lib/commonjs/component-stack/index.js +13 -0
- package/lib/commonjs/component-stack/index.js.map +1 -0
- package/lib/commonjs/component-stack/navigators/create-component-stack-navigator.js +52 -0
- package/lib/commonjs/component-stack/navigators/create-component-stack-navigator.js.map +1 -0
- package/lib/commonjs/component-stack/types.js.map +1 -0
- package/lib/commonjs/{shared/components → native-stack}/controllers/native-stack-lifecycle.js +18 -9
- package/lib/commonjs/native-stack/controllers/native-stack-lifecycle.js.map +1 -0
- package/lib/commonjs/native-stack/views/NativeStackView.native.js +114 -117
- package/lib/commonjs/native-stack/views/NativeStackView.native.js.map +1 -1
- package/lib/commonjs/shared/components/create-transition-aware-component.js.map +1 -1
- package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js +39 -0
- package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js.map +1 -0
- package/lib/commonjs/shared/components/overlay/index.js +13 -0
- package/lib/commonjs/shared/components/overlay/index.js.map +1 -0
- package/lib/commonjs/shared/components/overlay/variations/float-overlay.js +51 -0
- package/lib/commonjs/shared/components/overlay/variations/float-overlay.js.map +1 -0
- package/lib/commonjs/shared/components/overlay/variations/overlay-host.js +124 -0
- package/lib/commonjs/shared/components/overlay/variations/overlay-host.js.map +1 -0
- package/lib/commonjs/shared/components/overlay/variations/screen-overlay.js +47 -0
- package/lib/commonjs/shared/components/overlay/variations/screen-overlay.js.map +1 -0
- package/lib/commonjs/shared/components/root-transition-aware.js +2 -2
- package/lib/commonjs/shared/components/root-transition-aware.js.map +1 -1
- package/lib/commonjs/shared/constants.js +4 -31
- package/lib/commonjs/shared/constants.js.map +1 -1
- package/lib/commonjs/shared/{components/controllers/blank-stack-lifecycle.js → controller/managed-lifecycle.js} +25 -19
- package/lib/commonjs/shared/controller/managed-lifecycle.js.map +1 -0
- package/lib/commonjs/shared/hooks/animation/use-associated-style.js +2 -2
- package/lib/commonjs/shared/hooks/animation/use-associated-style.js.map +1 -1
- package/lib/commonjs/shared/hooks/animation/use-high-refresh-rate.js +36 -0
- package/lib/commonjs/shared/hooks/animation/use-high-refresh-rate.js.map +1 -0
- package/lib/commonjs/shared/hooks/animation/use-screen-animation.js +18 -11
- package/lib/commonjs/shared/hooks/animation/use-screen-animation.js.map +1 -1
- package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js +4 -2
- package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
- package/lib/commonjs/{blank-stack/utils/with-stack-navigation/hooks → shared/hooks/navigation}/use-closing-route-keys.js +1 -1
- package/lib/commonjs/shared/hooks/navigation/use-closing-route-keys.js.map +1 -0
- package/lib/commonjs/shared/hooks/navigation/use-previous.js.map +1 -0
- package/lib/commonjs/shared/hooks/navigation/use-stack.js +37 -0
- package/lib/commonjs/shared/hooks/navigation/use-stack.js.map +1 -0
- package/lib/commonjs/shared/hooks/reanimated/use-shared-value-state.js +5 -0
- package/lib/commonjs/shared/hooks/reanimated/use-shared-value-state.js.map +1 -1
- package/lib/commonjs/shared/providers/gestures.provider.js +1 -1
- package/lib/commonjs/shared/providers/gestures.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/layout-anchor.provider.js +73 -0
- package/lib/commonjs/shared/providers/layout-anchor.provider.js.map +1 -0
- package/lib/commonjs/shared/providers/register-bounds.provider.js +19 -8
- package/lib/commonjs/shared/providers/register-bounds.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/{keys.provider.js → screen/keys.provider.js} +12 -0
- package/lib/commonjs/shared/providers/screen/keys.provider.js.map +1 -0
- package/lib/commonjs/shared/providers/{screen-transition.provider.js → screen/screen-composer.js} +7 -7
- package/lib/commonjs/shared/providers/screen/screen-composer.js.map +1 -0
- package/lib/commonjs/shared/providers/screen/styles.provider.js +95 -0
- package/lib/commonjs/shared/providers/screen/styles.provider.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/core.provider.js +84 -0
- package/lib/commonjs/shared/providers/stack/core.provider.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/direct.provider.js +160 -0
- package/lib/commonjs/shared/providers/stack/direct.provider.js.map +1 -0
- package/lib/commonjs/{blank-stack/utils/with-stack-navigation/helpers/calculate-active-screens-limit.js → shared/providers/stack/helpers/active-screens-limit.js} +1 -1
- package/lib/commonjs/shared/providers/stack/helpers/active-screens-limit.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/helpers/use-local-routes.js +93 -0
- package/lib/commonjs/shared/providers/stack/helpers/use-local-routes.js.map +1 -0
- package/lib/commonjs/shared/providers/stack/managed.provider.js +157 -0
- package/lib/commonjs/shared/providers/stack/managed.provider.js.map +1 -0
- package/lib/commonjs/shared/stores/bounds.store.js.map +1 -1
- package/lib/commonjs/shared/types/index.js +19 -0
- package/lib/commonjs/shared/types/index.js.map +1 -0
- package/lib/commonjs/shared/types/overlay.types.js +6 -0
- package/lib/commonjs/shared/types/overlay.types.js.map +1 -0
- package/lib/commonjs/shared/types/{core.types.js → screen.types.js} +1 -1
- package/lib/commonjs/shared/types/screen.types.js.map +1 -0
- package/lib/commonjs/shared/types/stack.types.js +32 -0
- package/lib/commonjs/shared/types/stack.types.js.map +1 -0
- package/lib/commonjs/shared/utils/bounds/helpers/styles.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/index.js +13 -1
- package/lib/commonjs/shared/utils/bounds/index.js.map +1 -1
- package/lib/commonjs/shared/utils/create-provider.js +16 -13
- package/lib/commonjs/shared/utils/create-provider.js.map +1 -1
- package/lib/commonjs/shared/utils/gesture/check-gesture-activation.js.map +1 -1
- package/lib/commonjs/shared/utils/navigation/align-routes-with-latest.js +51 -0
- package/lib/commonjs/shared/utils/navigation/align-routes-with-latest.js.map +1 -0
- package/lib/commonjs/shared/utils/navigation/are-descriptors-equal.js.map +1 -0
- package/lib/commonjs/shared/utils/navigation/compose-descriptors.js.map +1 -0
- package/lib/commonjs/shared/utils/navigation/have-same-route-keys.js.map +1 -0
- package/lib/commonjs/shared/utils/navigation/routes-are-identical.js.map +1 -0
- package/lib/commonjs/shared/utils/navigation/sync-routes-with-removed.js +70 -0
- package/lib/commonjs/shared/utils/navigation/sync-routes-with-removed.js.map +1 -0
- package/lib/commonjs/shared/utils/read-shared-value.js +17 -0
- package/lib/commonjs/shared/utils/read-shared-value.js.map +1 -0
- package/lib/commonjs/shared/utils/reset-stores-for-screen.js +2 -1
- package/lib/commonjs/shared/utils/reset-stores-for-screen.js.map +1 -1
- package/lib/module/blank-stack/components/adjusted-screen-container.js +31 -0
- package/lib/module/blank-stack/components/adjusted-screen-container.js.map +1 -0
- package/lib/module/blank-stack/components/{screens.js → adjusted-screen.js} +32 -12
- package/lib/module/blank-stack/components/adjusted-screen.js.map +1 -0
- package/lib/module/blank-stack/components/stack-view.js +43 -60
- package/lib/module/blank-stack/components/stack-view.js.map +1 -1
- package/lib/module/blank-stack/components/stack-view.native.js +76 -0
- package/lib/module/blank-stack/components/stack-view.native.js.map +1 -0
- package/lib/module/component-stack/components/component-screen-container.js +18 -0
- package/lib/module/component-stack/components/component-screen-container.js.map +1 -0
- package/lib/module/component-stack/components/component-screen.js +30 -0
- package/lib/module/component-stack/components/component-screen.js.map +1 -0
- package/lib/module/component-stack/components/stack-view.js +59 -0
- package/lib/module/component-stack/components/stack-view.js.map +1 -0
- package/lib/module/component-stack/index.js +4 -0
- package/lib/module/component-stack/index.js.map +1 -0
- package/lib/module/component-stack/navigators/create-component-stack-navigator.js +48 -0
- package/lib/module/component-stack/navigators/create-component-stack-navigator.js.map +1 -0
- package/lib/module/component-stack/types.js.map +1 -0
- package/lib/module/{shared/components → native-stack}/controllers/native-stack-lifecycle.js +18 -9
- package/lib/module/native-stack/controllers/native-stack-lifecycle.js.map +1 -0
- package/lib/module/native-stack/views/NativeStackView.native.js +115 -118
- package/lib/module/native-stack/views/NativeStackView.native.js.map +1 -1
- package/lib/module/shared/components/create-transition-aware-component.js.map +1 -1
- package/lib/module/shared/components/overlay/helpers/get-active-overlay.js +35 -0
- package/lib/module/shared/components/overlay/helpers/get-active-overlay.js.map +1 -0
- package/lib/module/shared/components/overlay/index.js +9 -0
- package/lib/module/shared/components/overlay/index.js.map +1 -0
- package/lib/module/shared/components/overlay/variations/float-overlay.js +48 -0
- package/lib/module/shared/components/overlay/variations/float-overlay.js.map +1 -0
- package/lib/module/shared/components/overlay/variations/overlay-host.js +120 -0
- package/lib/module/shared/components/overlay/variations/overlay-host.js.map +1 -0
- package/lib/module/shared/components/overlay/variations/screen-overlay.js +44 -0
- package/lib/module/shared/components/overlay/variations/screen-overlay.js.map +1 -0
- package/lib/module/shared/components/root-transition-aware.js +2 -2
- package/lib/module/shared/components/root-transition-aware.js.map +1 -1
- package/lib/module/shared/constants.js +2 -29
- package/lib/module/shared/constants.js.map +1 -1
- package/lib/module/shared/controller/managed-lifecycle.js +72 -0
- package/lib/module/shared/controller/managed-lifecycle.js.map +1 -0
- package/lib/module/shared/hooks/animation/use-associated-style.js +2 -2
- package/lib/module/shared/hooks/animation/use-associated-style.js.map +1 -1
- package/lib/module/shared/hooks/animation/use-high-refresh-rate.js +31 -0
- package/lib/module/shared/hooks/animation/use-high-refresh-rate.js.map +1 -0
- package/lib/module/shared/hooks/animation/use-screen-animation.js +18 -11
- package/lib/module/shared/hooks/animation/use-screen-animation.js.map +1 -1
- package/lib/module/shared/hooks/gestures/use-build-gestures.js +5 -3
- package/lib/module/shared/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/module/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
- package/lib/module/{blank-stack/utils/with-stack-navigation/hooks → shared/hooks/navigation}/use-closing-route-keys.js +1 -1
- package/lib/module/shared/hooks/navigation/use-closing-route-keys.js.map +1 -0
- package/lib/module/shared/hooks/navigation/use-previous.js.map +1 -0
- package/lib/module/shared/hooks/navigation/use-stack.js +33 -0
- package/lib/module/shared/hooks/navigation/use-stack.js.map +1 -0
- package/lib/module/shared/hooks/reanimated/use-shared-value-state.js +5 -0
- package/lib/module/shared/hooks/reanimated/use-shared-value-state.js.map +1 -1
- package/lib/module/shared/providers/gestures.provider.js +1 -1
- package/lib/module/shared/providers/gestures.provider.js.map +1 -1
- package/lib/module/shared/providers/layout-anchor.provider.js +67 -0
- package/lib/module/shared/providers/layout-anchor.provider.js.map +1 -0
- package/lib/module/shared/providers/register-bounds.provider.js +19 -8
- package/lib/module/shared/providers/register-bounds.provider.js.map +1 -1
- package/lib/module/shared/providers/{keys.provider.js → screen/keys.provider.js} +12 -0
- package/lib/module/shared/providers/screen/keys.provider.js.map +1 -0
- package/lib/module/shared/providers/{screen-transition.provider.js → screen/screen-composer.js} +6 -6
- package/lib/module/shared/providers/screen/screen-composer.js.map +1 -0
- package/lib/module/shared/providers/screen/styles.provider.js +90 -0
- package/lib/module/shared/providers/screen/styles.provider.js.map +1 -0
- package/lib/module/shared/providers/stack/core.provider.js +78 -0
- package/lib/module/shared/providers/stack/core.provider.js.map +1 -0
- package/lib/module/shared/providers/stack/direct.provider.js +155 -0
- package/lib/module/shared/providers/stack/direct.provider.js.map +1 -0
- package/lib/module/{blank-stack/utils/with-stack-navigation/helpers/calculate-active-screens-limit.js → shared/providers/stack/helpers/active-screens-limit.js} +1 -1
- package/lib/module/shared/providers/stack/helpers/active-screens-limit.js.map +1 -0
- package/lib/module/shared/providers/stack/helpers/use-local-routes.js +87 -0
- package/lib/module/shared/providers/stack/helpers/use-local-routes.js.map +1 -0
- package/lib/module/shared/providers/stack/managed.provider.js +152 -0
- package/lib/module/shared/providers/stack/managed.provider.js.map +1 -0
- package/lib/module/shared/stores/bounds.store.js.map +1 -1
- package/lib/module/shared/types/index.js +4 -0
- package/lib/module/shared/types/index.js.map +1 -0
- package/lib/module/shared/types/overlay.types.js +4 -0
- package/lib/module/shared/types/overlay.types.js.map +1 -0
- package/lib/module/shared/types/screen.types.js +4 -0
- package/lib/module/shared/types/screen.types.js.map +1 -0
- package/lib/module/shared/types/stack.types.js +33 -0
- package/lib/module/shared/types/stack.types.js.map +1 -0
- package/lib/module/shared/utils/bounds/helpers/styles.js.map +1 -1
- package/lib/module/shared/utils/bounds/index.js +13 -1
- package/lib/module/shared/utils/bounds/index.js.map +1 -1
- package/lib/module/shared/utils/create-provider.js +16 -13
- package/lib/module/shared/utils/create-provider.js.map +1 -1
- package/lib/module/shared/utils/gesture/check-gesture-activation.js.map +1 -1
- package/lib/module/shared/utils/navigation/align-routes-with-latest.js +46 -0
- package/lib/module/shared/utils/navigation/align-routes-with-latest.js.map +1 -0
- package/lib/module/shared/utils/navigation/are-descriptors-equal.js.map +1 -0
- package/lib/module/shared/utils/navigation/compose-descriptors.js.map +1 -0
- package/lib/module/shared/utils/navigation/have-same-route-keys.js.map +1 -0
- package/lib/module/shared/utils/navigation/routes-are-identical.js.map +1 -0
- package/lib/module/shared/utils/navigation/sync-routes-with-removed.js +65 -0
- package/lib/module/shared/utils/navigation/sync-routes-with-removed.js.map +1 -0
- package/lib/module/shared/utils/read-shared-value.js +14 -0
- package/lib/module/shared/utils/read-shared-value.js.map +1 -0
- package/lib/module/shared/utils/reset-stores-for-screen.js +2 -2
- package/lib/module/shared/utils/reset-stores-for-screen.js.map +1 -1
- package/lib/typescript/blank-stack/components/adjusted-screen-container.d.ts +6 -0
- package/lib/typescript/blank-stack/components/adjusted-screen-container.d.ts.map +1 -0
- package/lib/typescript/blank-stack/components/{screens.d.ts → adjusted-screen.d.ts} +2 -2
- package/lib/typescript/blank-stack/components/adjusted-screen.d.ts.map +1 -0
- package/lib/typescript/blank-stack/components/stack-view.d.ts +2 -1
- package/lib/typescript/blank-stack/components/stack-view.d.ts.map +1 -1
- package/lib/typescript/blank-stack/components/stack-view.native.d.ts +4 -0
- package/lib/typescript/blank-stack/components/stack-view.native.d.ts.map +1 -0
- package/lib/typescript/blank-stack/types.d.ts +10 -49
- package/lib/typescript/blank-stack/types.d.ts.map +1 -1
- package/lib/typescript/component-stack/components/component-screen-container.d.ts +6 -0
- package/lib/typescript/component-stack/components/component-screen-container.d.ts.map +1 -0
- package/lib/typescript/component-stack/components/component-screen.d.ts +8 -0
- package/lib/typescript/component-stack/components/component-screen.d.ts.map +1 -0
- package/lib/typescript/component-stack/components/stack-view.d.ts +4 -0
- package/lib/typescript/component-stack/components/stack-view.d.ts.map +1 -0
- package/lib/typescript/component-stack/index.d.ts +3 -0
- package/lib/typescript/component-stack/index.d.ts.map +1 -0
- package/lib/typescript/component-stack/navigators/create-component-stack-navigator.d.ts +16 -0
- package/lib/typescript/component-stack/navigators/create-component-stack-navigator.d.ts.map +1 -0
- package/lib/typescript/component-stack/types.d.ts +39 -0
- package/lib/typescript/component-stack/types.d.ts.map +1 -0
- package/lib/typescript/native-stack/controllers/native-stack-lifecycle.d.ts.map +1 -0
- package/lib/typescript/native-stack/index.d.ts +1 -1
- package/lib/typescript/native-stack/index.d.ts.map +1 -1
- package/lib/typescript/native-stack/types.d.ts +9 -6
- package/lib/typescript/native-stack/types.d.ts.map +1 -1
- package/lib/typescript/native-stack/views/NativeStackView.native.d.ts +2 -10
- package/lib/typescript/native-stack/views/NativeStackView.native.d.ts.map +1 -1
- package/lib/typescript/shared/components/create-transition-aware-component.d.ts.map +1 -1
- package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts +11 -0
- package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts.map +1 -0
- package/lib/typescript/shared/components/overlay/index.d.ts +7 -0
- package/lib/typescript/shared/components/overlay/index.d.ts.map +1 -0
- package/lib/typescript/shared/components/overlay/variations/float-overlay.d.ts +6 -0
- package/lib/typescript/shared/components/overlay/variations/float-overlay.d.ts.map +1 -0
- package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts +12 -0
- package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts.map +1 -0
- package/lib/typescript/shared/components/overlay/variations/screen-overlay.d.ts +6 -0
- package/lib/typescript/shared/components/overlay/variations/screen-overlay.d.ts.map +1 -0
- package/lib/typescript/shared/configs/index.d.ts.map +1 -1
- package/lib/typescript/shared/configs/presets.d.ts +1 -1
- package/lib/typescript/shared/configs/presets.d.ts.map +1 -1
- package/lib/typescript/shared/constants.d.ts +2 -16
- package/lib/typescript/shared/constants.d.ts.map +1 -1
- package/lib/typescript/shared/controller/managed-lifecycle.d.ts +9 -0
- package/lib/typescript/shared/controller/managed-lifecycle.d.ts.map +1 -0
- package/lib/typescript/shared/hooks/animation/use-high-refresh-rate.d.ts +13 -0
- package/lib/typescript/shared/hooks/animation/use-high-refresh-rate.d.ts.map +1 -0
- package/lib/typescript/shared/hooks/animation/use-screen-animation.d.ts +2 -1
- package/lib/typescript/shared/hooks/animation/use-screen-animation.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/gestures/use-scroll-registry.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/navigation/use-closing-route-keys.d.ts.map +1 -0
- package/lib/typescript/shared/hooks/navigation/use-previous.d.ts.map +1 -0
- package/lib/typescript/shared/hooks/navigation/use-stack.d.ts +66 -0
- package/lib/typescript/shared/hooks/navigation/use-stack.d.ts.map +1 -0
- package/lib/typescript/shared/hooks/reanimated/use-shared-value-state.d.ts.map +1 -1
- package/lib/typescript/shared/index.d.ts +41 -43
- package/lib/typescript/shared/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/gestures.provider.d.ts +4 -2
- package/lib/typescript/shared/providers/gestures.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/layout-anchor.provider.d.ts +34 -0
- package/lib/typescript/shared/providers/layout-anchor.provider.d.ts.map +1 -0
- package/lib/typescript/shared/providers/register-bounds.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/keys.provider.d.ts +29 -0
- package/lib/typescript/shared/providers/screen/keys.provider.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/screen-composer.d.ts +13 -0
- package/lib/typescript/shared/providers/screen/screen-composer.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen/styles.provider.d.ts +13 -0
- package/lib/typescript/shared/providers/screen/styles.provider.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/core.provider.d.ts +22 -0
- package/lib/typescript/shared/providers/stack/core.provider.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/direct.provider.d.ts +34 -0
- package/lib/typescript/shared/providers/stack/direct.provider.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/helpers/active-screens-limit.d.ts +9 -0
- package/lib/typescript/shared/providers/stack/helpers/active-screens-limit.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/helpers/use-local-routes.d.ts +19 -0
- package/lib/typescript/shared/providers/stack/helpers/use-local-routes.d.ts.map +1 -0
- package/lib/typescript/shared/providers/stack/managed.provider.d.ts +39 -0
- package/lib/typescript/shared/providers/stack/managed.provider.d.ts.map +1 -0
- package/lib/typescript/shared/stores/animation.store.d.ts +1 -1
- package/lib/typescript/shared/stores/animation.store.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds.store.d.ts.map +1 -1
- package/lib/typescript/shared/stores/gesture.store.d.ts +2 -2
- package/lib/typescript/shared/stores/gesture.store.d.ts.map +1 -1
- package/lib/typescript/shared/types/animation.types.d.ts +3 -3
- package/lib/typescript/shared/types/animation.types.d.ts.map +1 -1
- package/lib/typescript/shared/types/bounds.types.d.ts +1 -0
- package/lib/typescript/shared/types/bounds.types.d.ts.map +1 -1
- package/lib/typescript/shared/types/gesture.types.d.ts +0 -1
- package/lib/typescript/shared/types/gesture.types.d.ts.map +1 -1
- package/lib/typescript/shared/types/index.d.ts +8 -0
- package/lib/typescript/shared/types/index.d.ts.map +1 -0
- package/lib/typescript/shared/types/overlay.types.d.ts +39 -0
- package/lib/typescript/shared/types/overlay.types.d.ts.map +1 -0
- package/lib/typescript/shared/types/{core.types.d.ts → screen.types.d.ts} +31 -6
- package/lib/typescript/shared/types/screen.types.d.ts.map +1 -0
- package/lib/typescript/shared/types/stack.types.d.ts +55 -0
- package/lib/typescript/shared/types/stack.types.d.ts.map +1 -0
- package/lib/typescript/shared/utils/bounds/helpers/geometry.d.ts +1 -1
- package/lib/typescript/shared/utils/bounds/helpers/geometry.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/helpers/style-composers.d.ts +2 -1
- package/lib/typescript/shared/utils/bounds/helpers/style-composers.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/helpers/styles.d.ts +1 -2
- package/lib/typescript/shared/utils/bounds/helpers/styles.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/index.d.ts +1 -9
- package/lib/typescript/shared/utils/bounds/index.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/types/builder.d.ts +9 -8
- package/lib/typescript/shared/utils/bounds/types/builder.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/types/geometry.d.ts +2 -1
- package/lib/typescript/shared/utils/bounds/types/geometry.d.ts.map +1 -1
- package/lib/typescript/shared/utils/create-provider.d.ts.map +1 -1
- package/lib/typescript/shared/utils/gesture/check-gesture-activation.d.ts +1 -1
- package/lib/typescript/shared/utils/gesture/check-gesture-activation.d.ts.map +1 -1
- package/lib/typescript/shared/utils/navigation/align-routes-with-latest.d.ts +13 -0
- package/lib/typescript/shared/utils/navigation/align-routes-with-latest.d.ts.map +1 -0
- package/lib/typescript/shared/utils/navigation/are-descriptors-equal.d.ts +2 -0
- package/lib/typescript/shared/utils/navigation/are-descriptors-equal.d.ts.map +1 -0
- package/lib/typescript/shared/utils/navigation/compose-descriptors.d.ts +6 -0
- package/lib/typescript/shared/utils/navigation/compose-descriptors.d.ts.map +1 -0
- package/lib/typescript/shared/utils/navigation/have-same-route-keys.d.ts +6 -0
- package/lib/typescript/shared/utils/navigation/have-same-route-keys.d.ts.map +1 -0
- package/lib/typescript/shared/utils/navigation/routes-are-identical.d.ts +6 -0
- package/lib/typescript/shared/utils/navigation/routes-are-identical.d.ts.map +1 -0
- package/lib/typescript/shared/utils/navigation/sync-routes-with-removed.d.ts +21 -0
- package/lib/typescript/shared/utils/navigation/sync-routes-with-removed.d.ts.map +1 -0
- package/lib/typescript/shared/utils/read-shared-value.d.ts +7 -0
- package/lib/typescript/shared/utils/read-shared-value.d.ts.map +1 -0
- package/lib/typescript/shared/utils/reset-stores-for-screen.d.ts +4 -3
- package/lib/typescript/shared/utils/reset-stores-for-screen.d.ts.map +1 -1
- package/package.json +7 -2
- package/src/blank-stack/components/adjusted-screen-container.tsx +25 -0
- package/src/blank-stack/components/{screens.tsx → adjusted-screen.tsx} +35 -14
- package/src/blank-stack/components/stack-view.native.tsx +94 -0
- package/src/blank-stack/components/stack-view.tsx +60 -74
- package/src/blank-stack/types.ts +12 -63
- package/src/component-stack/components/component-screen-container.tsx +15 -0
- package/src/component-stack/components/component-screen.tsx +40 -0
- package/src/component-stack/components/stack-view.tsx +74 -0
- package/src/component-stack/index.ts +10 -0
- package/src/component-stack/navigators/create-component-stack-navigator.tsx +88 -0
- package/src/component-stack/types.ts +101 -0
- package/src/{shared/components → native-stack}/controllers/native-stack-lifecycle.tsx +18 -11
- package/src/native-stack/index.ts +1 -0
- package/src/native-stack/types.ts +11 -7
- package/src/native-stack/views/NativeStackView.native.tsx +138 -167
- package/src/shared/__tests__/sync-routes-with-removed.test.ts +137 -0
- package/src/shared/components/create-transition-aware-component.tsx +5 -6
- package/src/shared/components/overlay/helpers/get-active-overlay.ts +38 -0
- package/src/shared/components/overlay/index.ts +7 -0
- package/src/shared/components/overlay/variations/float-overlay.tsx +44 -0
- package/src/shared/components/overlay/variations/overlay-host.tsx +148 -0
- package/src/shared/components/overlay/variations/screen-overlay.tsx +51 -0
- package/src/shared/components/root-transition-aware.tsx +2 -2
- package/src/shared/configs/presets.ts +1 -1
- package/src/shared/constants.ts +3 -32
- package/src/shared/controller/managed-lifecycle.tsx +73 -0
- package/src/shared/hooks/animation/use-associated-style.tsx +2 -2
- package/src/shared/hooks/animation/use-high-refresh-rate.tsx +34 -0
- package/src/shared/hooks/animation/use-screen-animation.tsx +24 -18
- package/src/shared/hooks/gestures/use-build-gestures.tsx +10 -3
- package/src/shared/hooks/gestures/use-scroll-registry.tsx +3 -4
- package/src/{blank-stack/utils/with-stack-navigation/hooks → shared/hooks/navigation}/use-closing-route-keys.tsx +1 -1
- package/src/shared/hooks/navigation/use-stack.tsx +89 -0
- package/src/shared/hooks/reanimated/use-shared-value-state.ts +5 -0
- package/src/shared/index.ts +8 -3
- package/src/shared/providers/gestures.provider.tsx +6 -2
- package/src/shared/providers/layout-anchor.provider.tsx +81 -0
- package/src/shared/providers/register-bounds.provider.tsx +23 -9
- package/src/shared/providers/{keys.provider.tsx → screen/keys.provider.tsx} +25 -10
- package/src/shared/providers/screen/screen-composer.tsx +38 -0
- package/src/shared/providers/screen/styles.provider.tsx +120 -0
- package/src/shared/providers/stack/core.provider.tsx +87 -0
- package/src/shared/providers/stack/direct.provider.tsx +231 -0
- package/src/{blank-stack/utils/with-stack-navigation/helpers/calculate-active-screens-limit.ts → shared/providers/stack/helpers/active-screens-limit.ts} +10 -4
- package/src/shared/providers/stack/helpers/use-local-routes.tsx +133 -0
- package/src/shared/providers/stack/managed.provider.tsx +229 -0
- package/src/shared/stores/animation.store.ts +1 -1
- package/src/shared/stores/bounds.store.ts +4 -5
- package/src/shared/stores/gesture.store.ts +2 -2
- package/src/shared/types/animation.types.ts +3 -3
- package/src/shared/types/bounds.types.ts +5 -0
- package/src/shared/types/gesture.types.ts +0 -2
- package/src/shared/types/index.ts +46 -0
- package/src/shared/types/overlay.types.ts +49 -0
- package/src/shared/types/{core.types.ts → screen.types.ts} +34 -7
- package/src/shared/types/stack.types.ts +63 -0
- package/src/shared/utils/bounds/helpers/geometry.ts +1 -1
- package/src/shared/utils/bounds/helpers/style-composers.ts +1 -1
- package/src/shared/utils/bounds/helpers/styles.ts +1 -2
- package/src/shared/utils/bounds/index.ts +19 -10
- package/src/shared/utils/bounds/types/builder.ts +8 -8
- package/src/shared/utils/bounds/types/geometry.ts +1 -1
- package/src/shared/utils/create-provider.tsx +14 -16
- package/src/shared/utils/gesture/check-gesture-activation.ts +1 -1
- package/src/shared/utils/navigation/align-routes-with-latest.ts +68 -0
- package/src/{blank-stack/utils/with-stack-navigation/helpers → shared/utils/navigation}/are-descriptors-equal.ts +5 -5
- package/src/shared/utils/navigation/compose-descriptors.ts +21 -0
- package/src/{blank-stack/utils/with-stack-navigation/helpers → shared/utils/navigation}/have-same-route-keys.ts +6 -4
- package/src/{blank-stack/utils/with-stack-navigation/helpers → shared/utils/navigation}/routes-are-identical.ts +6 -4
- package/src/shared/utils/navigation/sync-routes-with-removed.ts +102 -0
- package/src/shared/utils/read-shared-value.ts +15 -0
- package/src/shared/utils/reset-stores-for-screen.ts +4 -3
- package/lib/commonjs/blank-stack/components/overlay.js +0 -156
- package/lib/commonjs/blank-stack/components/overlay.js.map +0 -1
- package/lib/commonjs/blank-stack/components/screens.js.map +0 -1
- package/lib/commonjs/blank-stack/hooks/use-overlay-animation.js +0 -72
- package/lib/commonjs/blank-stack/hooks/use-overlay-animation.js.map +0 -1
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/helpers/are-descriptors-equal.js.map +0 -1
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/helpers/calculate-active-screens-limit.js.map +0 -1
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.js.map +0 -1
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/helpers/have-same-route-keys.js.map +0 -1
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/helpers/routes-are-identical.js.map +0 -1
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/hooks/use-closing-route-keys.js.map +0 -1
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/hooks/use-previous.js.map +0 -1
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.js +0 -196
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.js.map +0 -1
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/index.js +0 -61
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/index.js.map +0 -1
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/types.js.map +0 -1
- package/lib/commonjs/native-stack/views/FooterComponent.js +0 -17
- package/lib/commonjs/native-stack/views/FooterComponent.js.map +0 -1
- package/lib/commonjs/shared/components/controllers/blank-stack-lifecycle.js.map +0 -1
- package/lib/commonjs/shared/components/controllers/native-stack-lifecycle.js.map +0 -1
- package/lib/commonjs/shared/providers/flags.provider.js +0 -25
- package/lib/commonjs/shared/providers/flags.provider.js.map +0 -1
- package/lib/commonjs/shared/providers/keys.provider.js.map +0 -1
- package/lib/commonjs/shared/providers/routes.provider.js +0 -48
- package/lib/commonjs/shared/providers/routes.provider.js.map +0 -1
- package/lib/commonjs/shared/providers/screen-transition.provider.js.map +0 -1
- package/lib/commonjs/shared/providers/transition-styles.provider.js +0 -62
- package/lib/commonjs/shared/providers/transition-styles.provider.js.map +0 -1
- package/lib/commonjs/shared/types/core.types.js.map +0 -1
- package/lib/commonjs/shared/types/utils.types.js +0 -2
- package/lib/commonjs/shared/types/utils.types.js.map +0 -1
- package/lib/commonjs/shared/utils/animation/compute-stack-progress.js +0 -20
- package/lib/commonjs/shared/utils/animation/compute-stack-progress.js.map +0 -1
- package/lib/commonjs/shared/utils/bounds/constants.js +0 -42
- package/lib/commonjs/shared/utils/bounds/constants.js.map +0 -1
- package/lib/commonjs/shared/utils/bounds/helpers/is-bounds-equal.js +0 -19
- package/lib/commonjs/shared/utils/bounds/helpers/is-bounds-equal.js.map +0 -1
- package/lib/commonjs/shared/utils/gesture/apply-offset-rules.js +0 -224
- package/lib/commonjs/shared/utils/gesture/apply-offset-rules.js.map +0 -1
- package/lib/commonjs/shared/utils/reanimated/version.js +0 -12
- package/lib/commonjs/shared/utils/reanimated/version.js.map +0 -1
- package/lib/module/blank-stack/components/overlay.js +0 -152
- package/lib/module/blank-stack/components/overlay.js.map +0 -1
- package/lib/module/blank-stack/components/screens.js.map +0 -1
- package/lib/module/blank-stack/hooks/use-overlay-animation.js +0 -68
- package/lib/module/blank-stack/hooks/use-overlay-animation.js.map +0 -1
- package/lib/module/blank-stack/utils/with-stack-navigation/helpers/are-descriptors-equal.js.map +0 -1
- package/lib/module/blank-stack/utils/with-stack-navigation/helpers/calculate-active-screens-limit.js.map +0 -1
- package/lib/module/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.js.map +0 -1
- package/lib/module/blank-stack/utils/with-stack-navigation/helpers/have-same-route-keys.js.map +0 -1
- package/lib/module/blank-stack/utils/with-stack-navigation/helpers/routes-are-identical.js.map +0 -1
- package/lib/module/blank-stack/utils/with-stack-navigation/hooks/use-closing-route-keys.js.map +0 -1
- package/lib/module/blank-stack/utils/with-stack-navigation/hooks/use-previous.js.map +0 -1
- package/lib/module/blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.js +0 -190
- package/lib/module/blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.js.map +0 -1
- package/lib/module/blank-stack/utils/with-stack-navigation/index.js +0 -55
- package/lib/module/blank-stack/utils/with-stack-navigation/index.js.map +0 -1
- package/lib/module/blank-stack/utils/with-stack-navigation/types.js.map +0 -1
- package/lib/module/native-stack/views/FooterComponent.js +0 -13
- package/lib/module/native-stack/views/FooterComponent.js.map +0 -1
- package/lib/module/shared/components/controllers/blank-stack-lifecycle.js +0 -66
- package/lib/module/shared/components/controllers/blank-stack-lifecycle.js.map +0 -1
- package/lib/module/shared/components/controllers/native-stack-lifecycle.js.map +0 -1
- package/lib/module/shared/providers/flags.provider.js +0 -19
- package/lib/module/shared/providers/flags.provider.js.map +0 -1
- package/lib/module/shared/providers/keys.provider.js.map +0 -1
- package/lib/module/shared/providers/routes.provider.js +0 -42
- package/lib/module/shared/providers/routes.provider.js.map +0 -1
- package/lib/module/shared/providers/screen-transition.provider.js.map +0 -1
- package/lib/module/shared/providers/transition-styles.provider.js +0 -56
- package/lib/module/shared/providers/transition-styles.provider.js.map +0 -1
- package/lib/module/shared/types/core.types.js +0 -4
- package/lib/module/shared/types/core.types.js.map +0 -1
- package/lib/module/shared/types/utils.types.js +0 -2
- package/lib/module/shared/types/utils.types.js.map +0 -1
- package/lib/module/shared/utils/animation/compute-stack-progress.js +0 -15
- package/lib/module/shared/utils/animation/compute-stack-progress.js.map +0 -1
- package/lib/module/shared/utils/bounds/constants.js +0 -37
- package/lib/module/shared/utils/bounds/constants.js.map +0 -1
- package/lib/module/shared/utils/bounds/helpers/is-bounds-equal.js +0 -14
- package/lib/module/shared/utils/bounds/helpers/is-bounds-equal.js.map +0 -1
- package/lib/module/shared/utils/gesture/apply-offset-rules.js +0 -219
- package/lib/module/shared/utils/gesture/apply-offset-rules.js.map +0 -1
- package/lib/module/shared/utils/reanimated/version.js +0 -7
- package/lib/module/shared/utils/reanimated/version.js.map +0 -1
- package/lib/typescript/blank-stack/components/overlay.d.ts +0 -5
- package/lib/typescript/blank-stack/components/overlay.d.ts.map +0 -1
- package/lib/typescript/blank-stack/components/screens.d.ts.map +0 -1
- package/lib/typescript/blank-stack/hooks/use-overlay-animation.d.ts +0 -12
- package/lib/typescript/blank-stack/hooks/use-overlay-animation.d.ts.map +0 -1
- package/lib/typescript/blank-stack/utils/with-stack-navigation/helpers/are-descriptors-equal.d.ts +0 -3
- package/lib/typescript/blank-stack/utils/with-stack-navigation/helpers/are-descriptors-equal.d.ts.map +0 -1
- package/lib/typescript/blank-stack/utils/with-stack-navigation/helpers/calculate-active-screens-limit.d.ts +0 -4
- package/lib/typescript/blank-stack/utils/with-stack-navigation/helpers/calculate-active-screens-limit.d.ts.map +0 -1
- package/lib/typescript/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.d.ts +0 -4
- package/lib/typescript/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.d.ts.map +0 -1
- package/lib/typescript/blank-stack/utils/with-stack-navigation/helpers/have-same-route-keys.d.ts +0 -3
- package/lib/typescript/blank-stack/utils/with-stack-navigation/helpers/have-same-route-keys.d.ts.map +0 -1
- package/lib/typescript/blank-stack/utils/with-stack-navigation/helpers/routes-are-identical.d.ts +0 -3
- package/lib/typescript/blank-stack/utils/with-stack-navigation/helpers/routes-are-identical.d.ts.map +0 -1
- package/lib/typescript/blank-stack/utils/with-stack-navigation/hooks/use-closing-route-keys.d.ts.map +0 -1
- package/lib/typescript/blank-stack/utils/with-stack-navigation/hooks/use-previous.d.ts.map +0 -1
- package/lib/typescript/blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.d.ts +0 -20
- package/lib/typescript/blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.d.ts.map +0 -1
- package/lib/typescript/blank-stack/utils/with-stack-navigation/index.d.ts +0 -4
- package/lib/typescript/blank-stack/utils/with-stack-navigation/index.d.ts.map +0 -1
- package/lib/typescript/blank-stack/utils/with-stack-navigation/types.d.ts +0 -22
- package/lib/typescript/blank-stack/utils/with-stack-navigation/types.d.ts.map +0 -1
- package/lib/typescript/native-stack/views/FooterComponent.d.ts +0 -7
- package/lib/typescript/native-stack/views/FooterComponent.d.ts.map +0 -1
- package/lib/typescript/shared/components/controllers/blank-stack-lifecycle.d.ts +0 -8
- package/lib/typescript/shared/components/controllers/blank-stack-lifecycle.d.ts.map +0 -1
- package/lib/typescript/shared/components/controllers/native-stack-lifecycle.d.ts.map +0 -1
- package/lib/typescript/shared/providers/flags.provider.d.ts +0 -10
- package/lib/typescript/shared/providers/flags.provider.d.ts.map +0 -1
- package/lib/typescript/shared/providers/keys.provider.d.ts +0 -18
- package/lib/typescript/shared/providers/keys.provider.d.ts.map +0 -1
- package/lib/typescript/shared/providers/routes.provider.d.ts +0 -19
- package/lib/typescript/shared/providers/routes.provider.d.ts.map +0 -1
- package/lib/typescript/shared/providers/screen-transition.provider.d.ts +0 -14
- package/lib/typescript/shared/providers/screen-transition.provider.d.ts.map +0 -1
- package/lib/typescript/shared/providers/transition-styles.provider.d.ts +0 -14
- package/lib/typescript/shared/providers/transition-styles.provider.d.ts.map +0 -1
- package/lib/typescript/shared/types/core.types.d.ts.map +0 -1
- package/lib/typescript/shared/types/utils.types.d.ts +0 -5
- package/lib/typescript/shared/types/utils.types.d.ts.map +0 -1
- package/lib/typescript/shared/utils/animation/compute-stack-progress.d.ts +0 -3
- package/lib/typescript/shared/utils/animation/compute-stack-progress.d.ts.map +0 -1
- package/lib/typescript/shared/utils/bounds/constants.d.ts +0 -7
- package/lib/typescript/shared/utils/bounds/constants.d.ts.map +0 -1
- package/lib/typescript/shared/utils/bounds/helpers/is-bounds-equal.d.ts +0 -7
- package/lib/typescript/shared/utils/bounds/helpers/is-bounds-equal.d.ts.map +0 -1
- package/lib/typescript/shared/utils/gesture/apply-offset-rules.d.ts +0 -38
- package/lib/typescript/shared/utils/gesture/apply-offset-rules.d.ts.map +0 -1
- package/lib/typescript/shared/utils/reanimated/version.d.ts +0 -2
- package/lib/typescript/shared/utils/reanimated/version.d.ts.map +0 -1
- package/src/blank-stack/components/overlay.tsx +0 -169
- package/src/blank-stack/hooks/use-overlay-animation.tsx +0 -86
- package/src/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.ts +0 -17
- package/src/blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.tsx +0 -267
- package/src/blank-stack/utils/with-stack-navigation/index.tsx +0 -74
- package/src/blank-stack/utils/with-stack-navigation/types.ts +0 -35
- package/src/native-stack/views/FooterComponent.tsx +0 -10
- package/src/shared/components/controllers/blank-stack-lifecycle.tsx +0 -70
- package/src/shared/providers/flags.provider.tsx +0 -21
- package/src/shared/providers/routes.provider.tsx +0 -54
- package/src/shared/providers/screen-transition.provider.tsx +0 -41
- package/src/shared/providers/transition-styles.provider.tsx +0 -74
- package/src/shared/types/utils.types.ts +0 -4
- package/src/shared/utils/animation/compute-stack-progress.ts +0 -16
- package/src/shared/utils/bounds/constants.ts +0 -40
- package/src/shared/utils/bounds/helpers/is-bounds-equal.ts +0 -24
- package/src/shared/utils/gesture/apply-offset-rules.ts +0 -312
- package/src/shared/utils/reanimated/version.ts +0 -5
- /package/lib/commonjs/{blank-stack/utils/with-stack-navigation → component-stack}/types.js +0 -0
- /package/lib/commonjs/{blank-stack/utils/with-stack-navigation/hooks → shared/hooks/navigation}/use-previous.js +0 -0
- /package/lib/commonjs/{blank-stack/utils/with-stack-navigation/helpers → shared/utils/navigation}/are-descriptors-equal.js +0 -0
- /package/lib/commonjs/{blank-stack/utils/with-stack-navigation/helpers → shared/utils/navigation}/compose-descriptors.js +0 -0
- /package/lib/commonjs/{blank-stack/utils/with-stack-navigation/helpers → shared/utils/navigation}/have-same-route-keys.js +0 -0
- /package/lib/commonjs/{blank-stack/utils/with-stack-navigation/helpers → shared/utils/navigation}/routes-are-identical.js +0 -0
- /package/lib/module/{blank-stack/utils/with-stack-navigation → component-stack}/types.js +0 -0
- /package/lib/module/{blank-stack/utils/with-stack-navigation/hooks → shared/hooks/navigation}/use-previous.js +0 -0
- /package/lib/module/{blank-stack/utils/with-stack-navigation/helpers → shared/utils/navigation}/are-descriptors-equal.js +0 -0
- /package/lib/module/{blank-stack/utils/with-stack-navigation/helpers → shared/utils/navigation}/compose-descriptors.js +0 -0
- /package/lib/module/{blank-stack/utils/with-stack-navigation/helpers → shared/utils/navigation}/have-same-route-keys.js +0 -0
- /package/lib/module/{blank-stack/utils/with-stack-navigation/helpers → shared/utils/navigation}/routes-are-identical.js +0 -0
- /package/lib/typescript/{shared/components → native-stack}/controllers/native-stack-lifecycle.d.ts +0 -0
- /package/lib/typescript/{blank-stack/utils/with-stack-navigation/hooks → shared/hooks/navigation}/use-closing-route-keys.d.ts +0 -0
- /package/lib/typescript/{blank-stack/utils/with-stack-navigation/hooks → shared/hooks/navigation}/use-previous.d.ts +0 -0
- /package/src/{blank-stack/utils/with-stack-navigation/hooks → shared/hooks/navigation}/use-previous.tsx +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","View","GestureDetector","useSharedValue","useBuildGestures","createProvider","useKeys","jsx","_jsx","ScreenGestureProvider","useScreenGestureContext","useGestureContext","guarded","children","current","ancestorContext","scrollConfig","hasGestures","options","gestureEnabled","panGesture","panGestureRef","nativeGesture","gestureAnimationValues","value","gesture","style","styles","container","create","flex"],"sourceRoot":"../../../../src","sources":["shared/providers/gestures.provider.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SACCC,eAAe,QAET,8BAA8B;AAErC,SAASC,cAAc,QAAQ,yBAAyB;AACxD,SAASC,gBAAgB,QAAQ,sCAAsC;AAEvE,OAAOC,cAAc,MAAM,0BAA0B;AACrD,SAASC,OAAO,QAAQ,
|
|
1
|
+
{"version":3,"names":["StyleSheet","View","GestureDetector","useSharedValue","useBuildGestures","createProvider","useKeys","jsx","_jsx","ScreenGestureProvider","useScreenGestureContext","useGestureContext","guarded","children","current","ancestorContext","scrollConfig","hasGestures","options","gestureEnabled","panGesture","panGestureRef","nativeGesture","gestureAnimationValues","value","gesture","style","styles","container","create","flex"],"sourceRoot":"../../../../src","sources":["shared/providers/gestures.provider.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SACCC,eAAe,QAET,8BAA8B;AAErC,SAASC,cAAc,QAAQ,yBAAyB;AACxD,SAASC,gBAAgB,QAAQ,sCAAsC;AAEvE,OAAOC,cAAc,MAAM,0BAA0B;AACrD,SAASC,OAAO,QAAQ,wBAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAyBjD,OAAO,MAAM;EACZC,qBAAqB;EACrBC,uBAAuB,EAAEC;AAC1B,CAAC,GAAGN,cAAc,CAAC,eAAe,EAAE;EAAEO,OAAO,EAAE;AAAM,CAAC,CAAC,CAGrD,CAAC;EAAEC;AAAS,CAAC,KAAK;EACnB,MAAM;IAAEC;EAAQ,CAAC,GAAGR,OAAO,CAAC,CAAC;EAC7B,MAAMS,eAAe,GAAGJ,iBAAiB,CAAC,CAAC;EAC3C,MAAMK,YAAY,GAAGb,cAAc,CAAsB,IAAI,CAAC;EAE9D,MAAMc,WAAW,GAAGH,OAAO,CAACI,OAAO,CAACC,cAAc,KAAK,IAAI;EAE3D,MAAM;IAAEC,UAAU;IAAEC,aAAa;IAAEC,aAAa;IAAEC;EAAuB,CAAC,GACzEnB,gBAAgB,CAAC;IAChBY,YAAY;IACZD;EACD,CAAC,CAAC;EAEH,MAAMS,KAAyB,GAAG;IACjCJ,UAAU;IACVC,aAAa;IACbL,YAAY;IACZM,aAAa;IACbC,sBAAsB;IACtBR,eAAe;IACfI,cAAc,EAAEF;EACjB,CAAC;EAED,OAAO;IACNO,KAAK;IACLX,QAAQ,eACPL,IAAA,CAACN,eAAe;MAACuB,OAAO,EAAEL,UAAW;MAAAP,QAAA,eACpCL,IAAA,CAACP,IAAI;QAACyB,KAAK,EAAEC,MAAM,CAACC,SAAU;QAAAf,QAAA,EAAEA;MAAQ,CAAO;IAAC,CAChC;EAEnB,CAAC;AACF,CAAC,CAAC;AAEF,MAAMc,MAAM,GAAG3B,UAAU,CAAC6B,MAAM,CAAC;EAChCD,SAAS,EAAE;IACVE,IAAI,EAAE;EACP;AACD,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useWindowDimensions } from "react-native";
|
|
4
|
+
import { measure } from "react-native-reanimated";
|
|
5
|
+
import createProvider from "../utils/create-provider";
|
|
6
|
+
/**
|
|
7
|
+
* Provides a reference point for correcting bounds measurements.
|
|
8
|
+
*
|
|
9
|
+
* When a parent view has transforms applied (e.g., during screen transitions),
|
|
10
|
+
* `measure()` returns visual positions that include those transforms. This provider
|
|
11
|
+
* establishes an anchor point (typically the screen container at 0,0) and exposes
|
|
12
|
+
* a `correctMeasurement` function that reverses translation and scale transforms
|
|
13
|
+
* to yield the true layout position and dimensions.
|
|
14
|
+
*
|
|
15
|
+
* ## How it works
|
|
16
|
+
*
|
|
17
|
+
* 1. **Translation**: Subtract anchor's pageX/pageY offset
|
|
18
|
+
* 2. **Scale**: Compare anchor's measured size to expected (screen) size to compute
|
|
19
|
+
* scale factor, then divide positions and dimensions by that factor
|
|
20
|
+
*/
|
|
21
|
+
const {
|
|
22
|
+
LayoutAnchorProvider,
|
|
23
|
+
useLayoutAnchorContext
|
|
24
|
+
} = createProvider("LayoutAnchor", {
|
|
25
|
+
guarded: false
|
|
26
|
+
})(({
|
|
27
|
+
anchorRef,
|
|
28
|
+
children
|
|
29
|
+
}) => {
|
|
30
|
+
const {
|
|
31
|
+
width: screenWidth,
|
|
32
|
+
height: screenHeight
|
|
33
|
+
} = useWindowDimensions();
|
|
34
|
+
const correctMeasurement = measured => {
|
|
35
|
+
"worklet";
|
|
36
|
+
|
|
37
|
+
const anchor = measure(anchorRef);
|
|
38
|
+
if (!anchor) return measured;
|
|
39
|
+
|
|
40
|
+
// Compute scale factor by comparing anchor size to expected screen size.
|
|
41
|
+
// Anchor should be full-screen (absoluteFill), so any difference is from scale.
|
|
42
|
+
const scaleX = anchor.width > 0 ? anchor.width / screenWidth : 1;
|
|
43
|
+
const scaleY = anchor.height > 0 ? anchor.height / screenHeight : 1;
|
|
44
|
+
|
|
45
|
+
// Get element position relative to anchor (removes translation)
|
|
46
|
+
const relativeX = measured.pageX - anchor.pageX;
|
|
47
|
+
const relativeY = measured.pageY - anchor.pageY;
|
|
48
|
+
|
|
49
|
+
// Reverse scale: divide relative position and dimensions by scale factor
|
|
50
|
+
return {
|
|
51
|
+
x: measured.x,
|
|
52
|
+
y: measured.y,
|
|
53
|
+
width: scaleX !== 1 ? measured.width / scaleX : measured.width,
|
|
54
|
+
height: scaleY !== 1 ? measured.height / scaleY : measured.height,
|
|
55
|
+
pageX: scaleX !== 1 ? relativeX / scaleX : relativeX,
|
|
56
|
+
pageY: scaleY !== 1 ? relativeY / scaleY : relativeY
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
return {
|
|
60
|
+
value: {
|
|
61
|
+
correctMeasurement
|
|
62
|
+
},
|
|
63
|
+
children
|
|
64
|
+
};
|
|
65
|
+
});
|
|
66
|
+
export { LayoutAnchorProvider, useLayoutAnchorContext };
|
|
67
|
+
//# sourceMappingURL=layout-anchor.provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useWindowDimensions","measure","createProvider","LayoutAnchorProvider","useLayoutAnchorContext","guarded","anchorRef","children","width","screenWidth","height","screenHeight","correctMeasurement","measured","anchor","scaleX","scaleY","relativeX","pageX","relativeY","pageY","x","y","value"],"sourceRoot":"../../../../src","sources":["shared/providers/layout-anchor.provider.tsx"],"mappings":";;AACA,SAASA,mBAAmB,QAAmB,cAAc;AAC7D,SAGCC,OAAO,QACD,yBAAyB;AAChC,OAAOC,cAAc,MAAM,0BAA0B;AAiBrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;EAAEC,oBAAoB;EAAEC;AAAuB,CAAC,GAAGF,cAAc,CACtE,cAAc,EACd;EAAEG,OAAO,EAAE;AAAM,CAClB,CAAC,CACA,CAAC;EAAEC,SAAS;EAAEC;AAAS,CAAC,KAAK;EAC5B,MAAM;IAAEC,KAAK,EAAEC,WAAW;IAAEC,MAAM,EAAEC;EAAa,CAAC,GAAGX,mBAAmB,CAAC,CAAC;EAE1E,MAAMY,kBAAkB,GACvBC,QAA4B,IACJ;IACxB,SAAS;;IACT,MAAMC,MAAM,GAAGb,OAAO,CAACK,SAAS,CAAC;IACjC,IAAI,CAACQ,MAAM,EAAE,OAAOD,QAAQ;;IAE5B;IACA;IACA,MAAME,MAAM,GAAGD,MAAM,CAACN,KAAK,GAAG,CAAC,GAAGM,MAAM,CAACN,KAAK,GAAGC,WAAW,GAAG,CAAC;IAChE,MAAMO,MAAM,GAAGF,MAAM,CAACJ,MAAM,GAAG,CAAC,GAAGI,MAAM,CAACJ,MAAM,GAAGC,YAAY,GAAG,CAAC;;IAEnE;IACA,MAAMM,SAAS,GAAGJ,QAAQ,CAACK,KAAK,GAAGJ,MAAM,CAACI,KAAK;IAC/C,MAAMC,SAAS,GAAGN,QAAQ,CAACO,KAAK,GAAGN,MAAM,CAACM,KAAK;;IAE/C;IACA,OAAO;MACNC,CAAC,EAAER,QAAQ,CAACQ,CAAC;MACbC,CAAC,EAAET,QAAQ,CAACS,CAAC;MACbd,KAAK,EAAEO,MAAM,KAAK,CAAC,GAAGF,QAAQ,CAACL,KAAK,GAAGO,MAAM,GAAGF,QAAQ,CAACL,KAAK;MAC9DE,MAAM,EAAEM,MAAM,KAAK,CAAC,GAAGH,QAAQ,CAACH,MAAM,GAAGM,MAAM,GAAGH,QAAQ,CAACH,MAAM;MACjEQ,KAAK,EAAEH,MAAM,KAAK,CAAC,GAAGE,SAAS,GAAGF,MAAM,GAAGE,SAAS;MACpDG,KAAK,EAAEJ,MAAM,KAAK,CAAC,GAAGG,SAAS,GAAGH,MAAM,GAAGG;IAC5C,CAAC;EACF,CAAC;EAED,OAAO;IACNI,KAAK,EAAE;MAAEX;IAAmB,CAAC;IAC7BL;EACD,CAAC;AACF,CACD,CAAC;AAED,SAASJ,oBAAoB,EAAEC,sBAAsB","ignoreList":[]}
|
|
@@ -9,7 +9,8 @@ import { AnimationStore } from "../stores/animation.store";
|
|
|
9
9
|
import { BoundStore } from "../stores/bounds.store";
|
|
10
10
|
import { prepareStyleForBounds } from "../utils/bounds/helpers/styles";
|
|
11
11
|
import createProvider from "../utils/create-provider";
|
|
12
|
-
import {
|
|
12
|
+
import { useLayoutAnchorContext } from "./layout-anchor.provider";
|
|
13
|
+
import { useKeys } from "./screen/keys.provider";
|
|
13
14
|
/**
|
|
14
15
|
* Builds the full ancestor key chain for nested navigators.
|
|
15
16
|
* Returns an array of screen keys from immediate parent to root.
|
|
@@ -17,16 +18,22 @@ import { useKeys } from "./keys.provider";
|
|
|
17
18
|
*/
|
|
18
19
|
const getAncestorKeys = current => {
|
|
19
20
|
const ancestors = [];
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
const nav = current.navigation;
|
|
22
|
+
|
|
23
|
+
// Safety check for navigators without getParent
|
|
24
|
+
if (typeof nav?.getParent !== "function") {
|
|
25
|
+
return ancestors;
|
|
26
|
+
}
|
|
27
|
+
let parent = nav.getParent();
|
|
28
|
+
while (parent) {
|
|
29
|
+
const state = parent.getState();
|
|
23
30
|
if (state?.routes && state.index !== undefined) {
|
|
24
31
|
const focusedRoute = state.routes[state.index];
|
|
25
32
|
if (focusedRoute?.key) {
|
|
26
33
|
ancestors.push(focusedRoute.key);
|
|
27
34
|
}
|
|
28
35
|
}
|
|
29
|
-
|
|
36
|
+
parent = parent.getParent();
|
|
30
37
|
}
|
|
31
38
|
return ancestors;
|
|
32
39
|
};
|
|
@@ -145,6 +152,7 @@ const {
|
|
|
145
152
|
} = useKeys();
|
|
146
153
|
const currentScreenKey = current.route.key;
|
|
147
154
|
const ancestorKeys = useMemo(() => getAncestorKeys(current), [current]);
|
|
155
|
+
const layoutAnchor = useLayoutAnchorContext();
|
|
148
156
|
|
|
149
157
|
// Context & signals
|
|
150
158
|
const parentContext = useRegisterBoundsContext();
|
|
@@ -168,8 +176,11 @@ const {
|
|
|
168
176
|
if (!sharedBoundTag) return;
|
|
169
177
|
const measured = measure(animatedRef);
|
|
170
178
|
if (!measured) return;
|
|
179
|
+
|
|
180
|
+
// Correct for parent transforms (e.g., when parent screen is animating)
|
|
181
|
+
const correctedMeasured = layoutAnchor ? layoutAnchor.correctMeasurement(measured) : measured;
|
|
171
182
|
emitUpdate();
|
|
172
|
-
BoundStore.registerSnapshot(sharedBoundTag, currentScreenKey,
|
|
183
|
+
BoundStore.registerSnapshot(sharedBoundTag, currentScreenKey, correctedMeasured, preparedStyles, ancestorKeys);
|
|
173
184
|
if (shouldSetSource) {
|
|
174
185
|
if (isAnimating.get()) {
|
|
175
186
|
// If animation is already in progress,
|
|
@@ -180,12 +191,12 @@ const {
|
|
|
180
191
|
}
|
|
181
192
|
return;
|
|
182
193
|
}
|
|
183
|
-
BoundStore.setLinkSource(sharedBoundTag, currentScreenKey,
|
|
194
|
+
BoundStore.setLinkSource(sharedBoundTag, currentScreenKey, correctedMeasured, preparedStyles, ancestorKeys);
|
|
184
195
|
}
|
|
185
196
|
|
|
186
197
|
// Set as destination (on mount during animation)
|
|
187
198
|
if (shouldSetDestination) {
|
|
188
|
-
BoundStore.setLinkDestination(sharedBoundTag, currentScreenKey,
|
|
199
|
+
BoundStore.setLinkDestination(sharedBoundTag, currentScreenKey, correctedMeasured, preparedStyles, ancestorKeys);
|
|
189
200
|
}
|
|
190
201
|
if (onPress) runOnJS(onPress)();
|
|
191
202
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useFocusEffect","useCallback","useMemo","useRef","measure","runOnJS","runOnUI","useAnimatedReaction","useSharedValue","useStableCallback","useStableCallbackValue","AnimationStore","BoundStore","prepareStyleForBounds","createProvider","useKeys","getAncestorKeys","current","ancestors","nav","navigation","getParent","state","getState","routes","index","undefined","focusedRoute","key","push","useInitialLayoutHandler","params","sharedBoundTag","currentScreenKey","ancestorKeys","maybeMeasureAndStore","isAnimating","getAnimation","ancestorAnimations","map","hasMeasuredOnLayout","get","isAnyAnimating","i","length","shouldSetSource","shouldSetDestination","set","useBlurMeasurement","hasCapturedSource","ancestorClosing","route","maybeMeasureOnBlur","closing","markSourceCaptured","useParentSyncReaction","parentContext","updateSignal","value","RegisterBoundsProvider","useRegisterBoundsContext","guarded","style","onPress","animatedRef","children","ownSignal","preparedStyles","emitUpdate","isRoot","measured","registerSnapshot","existing","getSnapshot","setLinkSource","bounds","setLinkDestination","handleInitialLayout","captureActiveOnPress"],"sourceRoot":"../../../../src","sources":["shared/providers/register-bounds.provider.tsx"],"mappings":";;AAAA,SAASA,cAAc,QAAQ,0BAA0B;AACzD,SAAyBC,WAAW,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AAEpE,SAECC,OAAO,EACPC,OAAO,EACPC,OAAO,EAEPC,mBAAmB,EACnBC,cAAc,QACR,yBAAyB;AAEhC,OAAOC,iBAAiB,MAAM,8BAA8B;AAC5D,OAAOC,sBAAsB,MAAM,oCAAoC;AACvE,SAASC,cAAc,QAAQ,2BAA2B;AAC1D,SAASC,UAAU,QAAQ,wBAAwB;AACnD,SAASC,qBAAqB,QAAQ,gCAAgC;AACtE,OAAOC,cAAc,MAAM,0BAA0B;AACrD,
|
|
1
|
+
{"version":3,"names":["useFocusEffect","useCallback","useMemo","useRef","measure","runOnJS","runOnUI","useAnimatedReaction","useSharedValue","useStableCallback","useStableCallbackValue","AnimationStore","BoundStore","prepareStyleForBounds","createProvider","useLayoutAnchorContext","useKeys","getAncestorKeys","current","ancestors","nav","navigation","getParent","parent","state","getState","routes","index","undefined","focusedRoute","key","push","useInitialLayoutHandler","params","sharedBoundTag","currentScreenKey","ancestorKeys","maybeMeasureAndStore","isAnimating","getAnimation","ancestorAnimations","map","hasMeasuredOnLayout","get","isAnyAnimating","i","length","shouldSetSource","shouldSetDestination","set","useBlurMeasurement","hasCapturedSource","ancestorClosing","route","maybeMeasureOnBlur","closing","markSourceCaptured","useParentSyncReaction","parentContext","updateSignal","value","RegisterBoundsProvider","useRegisterBoundsContext","guarded","style","onPress","animatedRef","children","layoutAnchor","ownSignal","preparedStyles","emitUpdate","isRoot","measured","correctedMeasured","correctMeasurement","registerSnapshot","existing","getSnapshot","setLinkSource","bounds","setLinkDestination","handleInitialLayout","captureActiveOnPress"],"sourceRoot":"../../../../src","sources":["shared/providers/register-bounds.provider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { createContext, useContext, useMemo } from "react";
|
|
4
|
+
|
|
5
|
+
// Re-export for backward compatibility
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Base descriptor interface - minimal contract for all stack types.
|
|
9
|
+
* This allows blank-stack and native-stack to work with the shared
|
|
10
|
+
* providers without tight coupling to React Navigation.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* React Navigation specific descriptor - extends base with full typing
|
|
15
|
+
*/
|
|
4
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
17
|
const KeysContext = /*#__PURE__*/createContext(undefined);
|
|
6
18
|
export function KeysProvider({
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createContext","useContext","useMemo","jsx","_jsx","KeysContext","undefined","KeysProvider","children","previous","current","next","value","Provider","useKeys","context","Error"],"sourceRoot":"../../../../../src","sources":["shared/providers/screen/keys.provider.tsx"],"mappings":";;AAMA,SAASA,aAAa,EAAEC,UAAU,EAAEC,OAAO,QAAQ,OAAO;;AAQ1D;;AAIA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AAFA,SAAAC,GAAA,IAAAC,IAAA;AAeA,MAAMC,WAAW,gBAAGL,aAAa,CAA8BM,SAAS,CAAC;AASzE,OAAO,SAASC,YAAYA,CAAqC;EAChEC,QAAQ;EACRC,QAAQ;EACRC,OAAO;EACPC;AAC+B,CAAC,EAAE;EAClC,MAAMC,KAAK,GAAGV,OAAO,CACpB,OAAO;IAAEO,QAAQ;IAAEC,OAAO;IAAEC;EAAK,CAAC,CAAC,EACnC,CAACF,QAAQ,EAAEC,OAAO,EAAEC,IAAI,CACzB,CAAC;EAED,oBAAOP,IAAA,CAACC,WAAW,CAACQ,QAAQ;IAACD,KAAK,EAAEA,KAAM;IAAAJ,QAAA,EAAEA;EAAQ,CAAuB,CAAC;AAC7E;AAEA,OAAO,SAASM,OAAOA,CAAA,EAEW;EACjC,MAAMC,OAAO,GAAGd,UAAU,CAACI,WAAW,CAAC;EACvC,IAAIU,OAAO,KAAKT,SAAS,EAAE;IAC1B,MAAM,IAAIU,KAAK,CAAC,4CAA4C,CAAC;EAC9D;EACA,OAAOD,OAAO;AACf","ignoreList":[]}
|
package/lib/module/shared/providers/{screen-transition.provider.js → screen/screen-composer.js}
RENAMED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { RootTransitionAware } from "
|
|
4
|
-
import { ScreenGestureProvider } from "
|
|
3
|
+
import { RootTransitionAware } from "../../components/root-transition-aware";
|
|
4
|
+
import { ScreenGestureProvider } from "../gestures.provider";
|
|
5
5
|
import { KeysProvider } from "./keys.provider";
|
|
6
|
-
import {
|
|
6
|
+
import { ScreenStylesProvider } from "./styles.provider";
|
|
7
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
-
export function
|
|
8
|
+
export function ScreenComposer({
|
|
9
9
|
previous,
|
|
10
10
|
current,
|
|
11
11
|
next,
|
|
@@ -18,7 +18,7 @@ export function ScreenTransitionProvider({
|
|
|
18
18
|
next: next,
|
|
19
19
|
children: /*#__PURE__*/_jsx(ScreenGestureProvider, {
|
|
20
20
|
children: /*#__PURE__*/_jsx(LifecycleController, {
|
|
21
|
-
children: /*#__PURE__*/_jsx(
|
|
21
|
+
children: /*#__PURE__*/_jsx(ScreenStylesProvider, {
|
|
22
22
|
children: /*#__PURE__*/_jsx(RootTransitionAware, {
|
|
23
23
|
children: children
|
|
24
24
|
})
|
|
@@ -27,4 +27,4 @@ export function ScreenTransitionProvider({
|
|
|
27
27
|
})
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
|
-
//# sourceMappingURL=screen-
|
|
30
|
+
//# sourceMappingURL=screen-composer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["RootTransitionAware","ScreenGestureProvider","KeysProvider","ScreenStylesProvider","jsx","_jsx","ScreenComposer","previous","current","next","children","LifecycleController"],"sourceRoot":"../../../../../src","sources":["shared/providers/screen/screen-composer.tsx"],"mappings":";;AAEA,SAASA,mBAAmB,QAAQ,wCAAwC;AAC5E,SAASC,qBAAqB,QAAQ,sBAAsB;AAC5D,SAA8BC,YAAY,QAAQ,iBAAiB;AACnE,SAASC,oBAAoB,QAAQ,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAUzD,OAAO,SAASC,cAAcA,CAAqC;EAClEC,QAAQ;EACRC,OAAO;EACPC,IAAI;EACJC,QAAQ;EACRC;AACmB,CAAC,EAAE;EACtB,oBACCN,IAAA,CAACH,YAAY;IACZK,QAAQ,EAAEA,QAAS;IACnBC,OAAO,EAAEA,OAAQ;IACjBC,IAAI,EAAEA,IAAK;IAAAC,QAAA,eAEXL,IAAA,CAACJ,qBAAqB;MAAAS,QAAA,eACrBL,IAAA,CAACM,mBAAmB;QAAAD,QAAA,eACnBL,IAAA,CAACF,oBAAoB;UAAAO,QAAA,eACpBL,IAAA,CAACL,mBAAmB;YAAAU,QAAA,EAAEA;UAAQ,CAAsB;QAAC,CAChC;MAAC,CACH;IAAC,CACA;EAAC,CACX,CAAC;AAEjB","ignoreList":[]}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { createContext, useContext, useMemo } from "react";
|
|
4
|
+
import { useDerivedValue, useSharedValue } from "react-native-reanimated";
|
|
5
|
+
import { NO_STYLES } from "../../constants";
|
|
6
|
+
import { _useScreenAnimation } from "../../hooks/animation/use-screen-animation";
|
|
7
|
+
import { createBounds } from "../../utils/bounds";
|
|
8
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
+
const ScreenStylesContext = /*#__PURE__*/createContext(null);
|
|
10
|
+
export function ScreenStylesProvider({
|
|
11
|
+
children
|
|
12
|
+
}) {
|
|
13
|
+
const parentCtx = useContext(ScreenStylesContext);
|
|
14
|
+
const {
|
|
15
|
+
screenInterpolatorProps,
|
|
16
|
+
nextInterpolator,
|
|
17
|
+
currentInterpolator
|
|
18
|
+
} = _useScreenAnimation();
|
|
19
|
+
|
|
20
|
+
// Track when a gesture is triggered while another screen is closing
|
|
21
|
+
const hasTriggeredGestureWhileInFlight = useSharedValue(false);
|
|
22
|
+
const stylesMap = useDerivedValue(() => {
|
|
23
|
+
"worklet";
|
|
24
|
+
|
|
25
|
+
const props = screenInterpolatorProps.value;
|
|
26
|
+
const bounds = createBounds(props);
|
|
27
|
+
|
|
28
|
+
// Detect when user starts gesture on current screen while next screen is closing
|
|
29
|
+
if (props.current.gesture.isDragging && props.next?.closing) {
|
|
30
|
+
hasTriggeredGestureWhileInFlight.value = true;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Reset the flag when no longer dragging and next screen is done closing
|
|
34
|
+
if (!props.current.gesture.isDragging && !props.next?.closing && hasTriggeredGestureWhileInFlight.value) {
|
|
35
|
+
hasTriggeredGestureWhileInFlight.value = false;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Use current interpolator when gesture triggered while in-flight,
|
|
39
|
+
// otherwise use next interpolator if available (normal case)
|
|
40
|
+
const shouldUseCurrentInterpolator = props.current.gesture.isDragging || hasTriggeredGestureWhileInFlight.value;
|
|
41
|
+
const interpolator = shouldUseCurrentInterpolator ? currentInterpolator : nextInterpolator ?? currentInterpolator;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Maintainer Note:
|
|
45
|
+
* To avoid unnecessary jumps in off directions, we have to snap back to the currents progress.
|
|
46
|
+
* While this still introduces a 'snap back' animation, it's still very rare that a user would encounter this unless
|
|
47
|
+
* they're spamming things out. Not ideal, but this is the best way to go about dealing with fast rapid gestures.
|
|
48
|
+
*
|
|
49
|
+
* The alternative was preventing users from actually being able to drag back while animation was still in flight. But there was a significant delay
|
|
50
|
+
* when waiting for gestures to register again.
|
|
51
|
+
*/
|
|
52
|
+
const effectiveProps = shouldUseCurrentInterpolator ? {
|
|
53
|
+
...props,
|
|
54
|
+
progress: props.current.progress,
|
|
55
|
+
next: undefined
|
|
56
|
+
} : props;
|
|
57
|
+
try {
|
|
58
|
+
if (!interpolator) return NO_STYLES;
|
|
59
|
+
return interpolator({
|
|
60
|
+
...effectiveProps,
|
|
61
|
+
bounds
|
|
62
|
+
});
|
|
63
|
+
} catch (err) {
|
|
64
|
+
if (__DEV__) {
|
|
65
|
+
console.warn("[react-native-screen-transitions] screenStyleInterpolator must be a worklet", err);
|
|
66
|
+
}
|
|
67
|
+
return NO_STYLES;
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
const value = useMemo(() => {
|
|
71
|
+
// Build ancestor chain: [parent, grandparent, great-grandparent, ...]
|
|
72
|
+
const ancestorStylesMaps = parentCtx ? [parentCtx.stylesMap, ...parentCtx.ancestorStylesMaps] : [];
|
|
73
|
+
return {
|
|
74
|
+
stylesMap,
|
|
75
|
+
ancestorStylesMaps
|
|
76
|
+
};
|
|
77
|
+
}, [stylesMap, parentCtx]);
|
|
78
|
+
return /*#__PURE__*/_jsx(ScreenStylesContext.Provider, {
|
|
79
|
+
value: value,
|
|
80
|
+
children: children
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
export function useScreenStyles() {
|
|
84
|
+
const ctx = useContext(ScreenStylesContext);
|
|
85
|
+
if (!ctx) {
|
|
86
|
+
throw new Error("useTransitionStyles must be used within a TransitionStylesProvider");
|
|
87
|
+
}
|
|
88
|
+
return ctx;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=styles.provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createContext","useContext","useMemo","useDerivedValue","useSharedValue","NO_STYLES","_useScreenAnimation","createBounds","jsx","_jsx","ScreenStylesContext","ScreenStylesProvider","children","parentCtx","screenInterpolatorProps","nextInterpolator","currentInterpolator","hasTriggeredGestureWhileInFlight","stylesMap","props","value","bounds","current","gesture","isDragging","next","closing","shouldUseCurrentInterpolator","interpolator","effectiveProps","progress","undefined","err","__DEV__","console","warn","ancestorStylesMaps","Provider","useScreenStyles","ctx","Error"],"sourceRoot":"../../../../../src","sources":["shared/providers/screen/styles.provider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { SafeAreaProviderCompat } from "@react-navigation/elements";
|
|
4
|
+
import { StyleSheet } from "react-native";
|
|
5
|
+
import { GestureHandlerRootView } from "react-native-gesture-handler";
|
|
6
|
+
import { StackType } from "../../types/stack.types";
|
|
7
|
+
import createProvider from "../../utils/create-provider";
|
|
8
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
+
const {
|
|
10
|
+
StackCoreProvider: InternalStackCoreProvider,
|
|
11
|
+
useStackCoreContext
|
|
12
|
+
} = createProvider("StackCore", {
|
|
13
|
+
guarded: true
|
|
14
|
+
})(({
|
|
15
|
+
config,
|
|
16
|
+
children
|
|
17
|
+
}) => {
|
|
18
|
+
const {
|
|
19
|
+
TRANSITIONS_ALWAYS_ON = false,
|
|
20
|
+
DISABLE_NATIVE_SCREENS = false,
|
|
21
|
+
STACK_TYPE = StackType.BLANK
|
|
22
|
+
} = config;
|
|
23
|
+
return {
|
|
24
|
+
value: {
|
|
25
|
+
flags: {
|
|
26
|
+
TRANSITIONS_ALWAYS_ON,
|
|
27
|
+
STACK_TYPE,
|
|
28
|
+
DISABLE_NATIVE_SCREENS
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
children: /*#__PURE__*/_jsx(GestureHandlerRootView, {
|
|
32
|
+
style: styles.container,
|
|
33
|
+
children: /*#__PURE__*/_jsx(SafeAreaProviderCompat, {
|
|
34
|
+
children: children
|
|
35
|
+
})
|
|
36
|
+
})
|
|
37
|
+
};
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* HOC that wraps a component with the StackCore provider.
|
|
42
|
+
* Just a simple open gate
|
|
43
|
+
*/
|
|
44
|
+
export function withStackCore(defaultConfig, Component) {
|
|
45
|
+
return function StackCoreWrapper({
|
|
46
|
+
DISABLE_NATIVE_SCREENS,
|
|
47
|
+
TRANSITIONS_ALWAYS_ON,
|
|
48
|
+
STACK_TYPE,
|
|
49
|
+
...props
|
|
50
|
+
}) {
|
|
51
|
+
// User props first, then defaultConfig overrides (config takes priority)
|
|
52
|
+
const config = {
|
|
53
|
+
...(DISABLE_NATIVE_SCREENS !== undefined && {
|
|
54
|
+
DISABLE_NATIVE_SCREENS
|
|
55
|
+
}),
|
|
56
|
+
...(TRANSITIONS_ALWAYS_ON !== undefined && {
|
|
57
|
+
TRANSITIONS_ALWAYS_ON
|
|
58
|
+
}),
|
|
59
|
+
...(STACK_TYPE !== undefined && {
|
|
60
|
+
STACK_TYPE
|
|
61
|
+
}),
|
|
62
|
+
...defaultConfig
|
|
63
|
+
};
|
|
64
|
+
return /*#__PURE__*/_jsx(InternalStackCoreProvider, {
|
|
65
|
+
config: config,
|
|
66
|
+
children: /*#__PURE__*/_jsx(Component, {
|
|
67
|
+
...props
|
|
68
|
+
})
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
const styles = StyleSheet.create({
|
|
73
|
+
container: {
|
|
74
|
+
flex: 1
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
export { useStackCoreContext };
|
|
78
|
+
//# sourceMappingURL=core.provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SafeAreaProviderCompat","StyleSheet","GestureHandlerRootView","StackType","createProvider","jsx","_jsx","StackCoreProvider","InternalStackCoreProvider","useStackCoreContext","guarded","config","children","TRANSITIONS_ALWAYS_ON","DISABLE_NATIVE_SCREENS","STACK_TYPE","BLANK","value","flags","style","styles","container","withStackCore","defaultConfig","Component","StackCoreWrapper","props","undefined","create","flex"],"sourceRoot":"../../../../../src","sources":["shared/providers/stack/core.provider.tsx"],"mappings":";;AAAA,SAASA,sBAAsB,QAAQ,4BAA4B;AAEnE,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,sBAAsB,QAAQ,8BAA8B;AACrE,SAASC,SAAS,QAAQ,yBAAyB;AACnD,OAAOC,cAAc,MAAM,6BAA6B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAqBzD,MAAM;EAAEC,iBAAiB,EAAEC,yBAAyB;EAAEC;AAAoB,CAAC,GAC1EL,cAAc,CAAC,WAAW,EAAE;EAAEM,OAAO,EAAE;AAAK,CAAC,CAAC,CAG5C,CAAC;EAAEC,MAAM;EAAEC;AAAS,CAAC,KAAK;EAC3B,MAAM;IACLC,qBAAqB,GAAG,KAAK;IAC7BC,sBAAsB,GAAG,KAAK;IAC9BC,UAAU,GAAGZ,SAAS,CAACa;EACxB,CAAC,GAAGL,MAAM;EAEV,OAAO;IACNM,KAAK,EAAE;MACNC,KAAK,EAAE;QACNL,qBAAqB;QACrBE,UAAU;QACVD;MACD;IACD,CAAC;IACDF,QAAQ,eACPN,IAAA,CAACJ,sBAAsB;MAACiB,KAAK,EAAEC,MAAM,CAACC,SAAU;MAAAT,QAAA,eAC/CN,IAAA,CAACN,sBAAsB;QAAAY,QAAA,EAAEA;MAAQ,CAAyB;IAAC,CACpC;EAE1B,CAAC;AACF,CAAC,CAAC;;AAEH;AACA;AACA;AACA;AACA,OAAO,SAASU,aAAaA,CAC5BC,aAA8B,EAC9BC,SAAsC,EACD;EACrC,OAAO,SAASC,gBAAgBA,CAAC;IAChCX,sBAAsB;IACtBD,qBAAqB;IACrBE,UAAU;IACV,GAAGW;EACsB,CAAC,EAAE;IAC5B;IACA,MAAMf,MAAuB,GAAG;MAC/B,IAAIG,sBAAsB,KAAKa,SAAS,IAAI;QAAEb;MAAuB,CAAC,CAAC;MACvE,IAAID,qBAAqB,KAAKc,SAAS,IAAI;QAAEd;MAAsB,CAAC,CAAC;MACrE,IAAIE,UAAU,KAAKY,SAAS,IAAI;QAAEZ;MAAW,CAAC,CAAC;MAC/C,GAAGQ;IACJ,CAAC;IACD,oBACCjB,IAAA,CAACE,yBAAyB;MAACG,MAAM,EAAEA,MAAO;MAAAC,QAAA,eACzCN,IAAA,CAACkB,SAAS;QAAA,GAAME;MAAK,CAAc;IAAC,CACV,CAAC;EAE9B,CAAC;AACF;AAEA,MAAMN,MAAM,GAAGnB,UAAU,CAAC2B,MAAM,CAAC;EAChCP,SAAS,EAAE;IAAEQ,IAAI,EAAE;EAAE;AACtB,CAAC,CAAC;AAEF,SAASpB,mBAAmB","ignoreList":[]}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { useMemo } from "react";
|
|
5
|
+
import { useDerivedValue } from "react-native-reanimated";
|
|
6
|
+
import { StackContext } from "../../hooks/navigation/use-stack";
|
|
7
|
+
import { AnimationStore } from "../../stores/animation.store";
|
|
8
|
+
import { useStackCoreContext } from "./core.provider";
|
|
9
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
|
+
const DirectStackContext = /*#__PURE__*/React.createContext(null);
|
|
11
|
+
DirectStackContext.displayName = "DirectStack";
|
|
12
|
+
function useDirectStackContext() {
|
|
13
|
+
const context = React.useContext(DirectStackContext);
|
|
14
|
+
if (!context) {
|
|
15
|
+
throw new Error("useDirectStackContext must be used within DirectStackProvider");
|
|
16
|
+
}
|
|
17
|
+
return context;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Internal hook that computes all lifecycle values.
|
|
22
|
+
*/
|
|
23
|
+
function useDirectStackValue(props) {
|
|
24
|
+
const {
|
|
25
|
+
state,
|
|
26
|
+
navigation,
|
|
27
|
+
descriptors,
|
|
28
|
+
describe
|
|
29
|
+
} = props;
|
|
30
|
+
const {
|
|
31
|
+
flags
|
|
32
|
+
} = useStackCoreContext();
|
|
33
|
+
const preloadedDescriptors = useMemo(() => {
|
|
34
|
+
return state.preloadedRoutes.reduce((acc, route) => {
|
|
35
|
+
acc[route.key] = acc[route.key] || describe(route, true);
|
|
36
|
+
return acc;
|
|
37
|
+
}, {});
|
|
38
|
+
}, [state.preloadedRoutes, describe]);
|
|
39
|
+
const {
|
|
40
|
+
scenes,
|
|
41
|
+
shouldShowFloatOverlay,
|
|
42
|
+
routeKeys,
|
|
43
|
+
allRoutes,
|
|
44
|
+
allDescriptors
|
|
45
|
+
} = useMemo(() => {
|
|
46
|
+
const allRoutes = state.routes.concat(state.preloadedRoutes);
|
|
47
|
+
const scenes = [];
|
|
48
|
+
const routeKeys = [];
|
|
49
|
+
const allDescriptors = {
|
|
50
|
+
...preloadedDescriptors,
|
|
51
|
+
...descriptors
|
|
52
|
+
};
|
|
53
|
+
let shouldShowFloatOverlay = false;
|
|
54
|
+
for (const route of allRoutes) {
|
|
55
|
+
const descriptor = allDescriptors[route.key];
|
|
56
|
+
const isPreloaded = preloadedDescriptors[route.key] !== undefined && descriptors[route.key] === undefined;
|
|
57
|
+
scenes.push({
|
|
58
|
+
route,
|
|
59
|
+
descriptor,
|
|
60
|
+
isPreloaded
|
|
61
|
+
});
|
|
62
|
+
routeKeys.push(route.key);
|
|
63
|
+
if (!shouldShowFloatOverlay && descriptor) {
|
|
64
|
+
const options = descriptor.options;
|
|
65
|
+
if (options?.enableTransitions === true && options?.overlayMode === "float" && options?.overlayShown === true) {
|
|
66
|
+
shouldShowFloatOverlay = true;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
scenes,
|
|
72
|
+
shouldShowFloatOverlay,
|
|
73
|
+
routeKeys,
|
|
74
|
+
allRoutes,
|
|
75
|
+
allDescriptors
|
|
76
|
+
};
|
|
77
|
+
}, [state.routes, state.preloadedRoutes, descriptors, preloadedDescriptors]);
|
|
78
|
+
|
|
79
|
+
// Get animation store maps for all routes
|
|
80
|
+
const animationMaps = useMemo(() => allRoutes.map(route => AnimationStore.getAll(route.key)), [allRoutes]);
|
|
81
|
+
const stackProgress = useDerivedValue(() => {
|
|
82
|
+
"worklet";
|
|
83
|
+
|
|
84
|
+
let total = 0;
|
|
85
|
+
for (let i = 0; i < animationMaps.length; i++) {
|
|
86
|
+
total += animationMaps[i].progress.value;
|
|
87
|
+
}
|
|
88
|
+
return total;
|
|
89
|
+
});
|
|
90
|
+
const optimisticFocusedIndex = useDerivedValue(() => {
|
|
91
|
+
"worklet";
|
|
92
|
+
|
|
93
|
+
const currentIndex = animationMaps.length - 1;
|
|
94
|
+
let isAnyClosing = false;
|
|
95
|
+
for (let i = 0; i < animationMaps.length; i++) {
|
|
96
|
+
if (animationMaps[i].closing.value > 0) {
|
|
97
|
+
isAnyClosing = true;
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return currentIndex - (isAnyClosing ? 1 : 0);
|
|
102
|
+
});
|
|
103
|
+
const focusedIndex = state.index;
|
|
104
|
+
const stackContextValue = useMemo(() => ({
|
|
105
|
+
flags,
|
|
106
|
+
routeKeys,
|
|
107
|
+
routes: allRoutes,
|
|
108
|
+
descriptors: allDescriptors,
|
|
109
|
+
scenes,
|
|
110
|
+
focusedIndex,
|
|
111
|
+
stackProgress,
|
|
112
|
+
optimisticFocusedIndex
|
|
113
|
+
}), [routeKeys, allRoutes, allDescriptors, scenes, focusedIndex, stackProgress, optimisticFocusedIndex, flags]);
|
|
114
|
+
|
|
115
|
+
// DirectStack context value
|
|
116
|
+
const lifecycleValue = useMemo(() => ({
|
|
117
|
+
state,
|
|
118
|
+
navigation,
|
|
119
|
+
descriptors,
|
|
120
|
+
preloadedDescriptors,
|
|
121
|
+
scenes,
|
|
122
|
+
focusedIndex,
|
|
123
|
+
shouldShowFloatOverlay,
|
|
124
|
+
stackProgress,
|
|
125
|
+
optimisticFocusedIndex
|
|
126
|
+
}), [state, navigation, descriptors, preloadedDescriptors, scenes, focusedIndex, shouldShowFloatOverlay, stackProgress, optimisticFocusedIndex]);
|
|
127
|
+
return {
|
|
128
|
+
...lifecycleValue,
|
|
129
|
+
stackContextValue
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* HOC that wraps component with DirectStack provider AND StackContext.
|
|
135
|
+
* Used by native-stack which uses navigation state directly (no local route management).
|
|
136
|
+
*/
|
|
137
|
+
function withDirectStack(Component) {
|
|
138
|
+
return function DirectStackProvider(props) {
|
|
139
|
+
const {
|
|
140
|
+
stackContextValue,
|
|
141
|
+
...lifecycleValue
|
|
142
|
+
} = useDirectStackValue(props);
|
|
143
|
+
return /*#__PURE__*/_jsx(StackContext.Provider, {
|
|
144
|
+
value: stackContextValue,
|
|
145
|
+
children: /*#__PURE__*/_jsx(DirectStackContext.Provider, {
|
|
146
|
+
value: lifecycleValue,
|
|
147
|
+
children: /*#__PURE__*/_jsx(Component, {
|
|
148
|
+
...lifecycleValue
|
|
149
|
+
})
|
|
150
|
+
})
|
|
151
|
+
});
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
export { useDirectStackContext, withDirectStack };
|
|
155
|
+
//# sourceMappingURL=direct.provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useMemo","useDerivedValue","StackContext","AnimationStore","useStackCoreContext","jsx","_jsx","DirectStackContext","createContext","displayName","useDirectStackContext","context","useContext","Error","useDirectStackValue","props","state","navigation","descriptors","describe","flags","preloadedDescriptors","preloadedRoutes","reduce","acc","route","key","scenes","shouldShowFloatOverlay","routeKeys","allRoutes","allDescriptors","routes","concat","descriptor","isPreloaded","undefined","push","options","enableTransitions","overlayMode","overlayShown","animationMaps","map","getAll","stackProgress","total","i","length","progress","value","optimisticFocusedIndex","currentIndex","isAnyClosing","closing","focusedIndex","index","stackContextValue","lifecycleValue","withDirectStack","Component","DirectStackProvider","Provider","children"],"sourceRoot":"../../../../../src","sources":["shared/providers/stack/direct.provider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["calculateActiveScreensLimit","routes","descriptors","length","limit","i","route","shouldKeepPrevious","key","options","detachPreviousScreen","Math","min"],"sourceRoot":"../../../../../../src","sources":["shared/providers/stack/helpers/active-screens-limit.ts"],"mappings":";;AASA,OAAO,SAASA,2BAA2BA,CAC1CC,MAAwB,EACxBC,WAAiD,EACxC;EACT,IAAID,MAAM,CAACE,MAAM,KAAK,CAAC,EAAE;IACxB,OAAO,CAAC;EACT;EAEA,IAAIC,KAAK,GAAG,CAAC;EAEb,KAAK,IAAIC,CAAC,GAAGJ,MAAM,CAACE,MAAM,GAAG,CAAC,EAAEE,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;IAC5C,MAAMC,KAAK,GAAGL,MAAM,CAACI,CAAC,CAAC;IAEvB,MAAME,kBAAkB,GACvBL,WAAW,GAAGI,KAAK,CAACE,GAAG,CAAC,EAAEC,OAAO,EAAEC,oBAAoB,KAAK,IAAI;IAEjE,IAAIH,kBAAkB,EAAE;MACvBH,KAAK,EAAE;MACP;IACD;IAEA;EACD;EAEA,OAAOO,IAAI,CAACC,GAAG,CAACR,KAAK,EAAEH,MAAM,CAACE,MAAM,CAAC;AACtC","ignoreList":[]}
|