react-native-screen-transitions 3.2.0-beta.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} +31 -11
- package/lib/commonjs/blank-stack/components/adjusted-screen.js.map +1 -0
- package/lib/commonjs/blank-stack/components/stack-view.js +33 -41
- 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 +3 -10
- package/lib/commonjs/component-stack/index.js.map +1 -1
- 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/native-stack/views/NativeStackView.native.js +103 -105
- package/lib/commonjs/native-stack/views/NativeStackView.native.js.map +1 -1
- package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js +0 -25
- package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
- package/lib/commonjs/shared/components/overlay/index.js +1 -3
- package/lib/commonjs/shared/components/overlay/index.js.map +1 -1
- package/lib/commonjs/shared/constants.js +3 -1
- package/lib/commonjs/shared/constants.js.map +1 -1
- package/lib/commonjs/{blank-stack/controllers/blank-stack-lifecycle.js → shared/controller/managed-lifecycle.js} +16 -19
- package/lib/commonjs/shared/controller/managed-lifecycle.js.map +1 -0
- package/lib/commonjs/shared/hooks/animation/use-high-refresh-rate.js +7 -1
- package/lib/commonjs/shared/hooks/animation/use-high-refresh-rate.js.map +1 -1
- package/lib/commonjs/shared/hooks/animation/use-screen-animation.js +2 -2
- package/lib/commonjs/shared/hooks/animation/use-screen-animation.js.map +1 -1
- package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js +3 -1
- package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/commonjs/shared/hooks/navigation/use-stack.js.map +1 -1
- 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/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 +9 -4
- package/lib/commonjs/shared/providers/register-bounds.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/keys.provider.js +2 -2
- package/lib/commonjs/shared/providers/screen/styles.provider.js +38 -4
- package/lib/commonjs/shared/providers/screen/styles.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/stack/core.provider.js +35 -12
- package/lib/commonjs/shared/providers/stack/core.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/stack/direct.provider.js +6 -4
- package/lib/commonjs/shared/providers/stack/direct.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/stack/managed.provider.js +7 -5
- package/lib/commonjs/shared/providers/stack/managed.provider.js.map +1 -1
- package/lib/commonjs/shared/types/index.js.map +1 -1
- package/lib/commonjs/shared/types/stack.types.js +26 -0
- package/lib/commonjs/shared/types/stack.types.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/navigation/sync-routes-with-removed.js +20 -45
- package/lib/commonjs/shared/utils/navigation/sync-routes-with-removed.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} +30 -10
- package/lib/module/blank-stack/components/adjusted-screen.js.map +1 -0
- package/lib/module/blank-stack/components/stack-view.js +33 -41
- 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 +1 -2
- package/lib/module/component-stack/index.js.map +1 -1
- 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/native-stack/views/NativeStackView.native.js +103 -105
- package/lib/module/native-stack/views/NativeStackView.native.js.map +1 -1
- package/lib/module/shared/components/overlay/helpers/get-active-overlay.js +0 -24
- package/lib/module/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
- package/lib/module/shared/components/overlay/index.js +1 -3
- package/lib/module/shared/components/overlay/index.js.map +1 -1
- package/lib/module/shared/constants.js +2 -0
- package/lib/module/shared/constants.js.map +1 -1
- package/lib/module/{blank-stack/controllers/blank-stack-lifecycle.js → shared/controller/managed-lifecycle.js} +14 -17
- package/lib/module/shared/controller/managed-lifecycle.js.map +1 -0
- package/lib/module/shared/hooks/animation/use-high-refresh-rate.js +8 -1
- package/lib/module/shared/hooks/animation/use-high-refresh-rate.js.map +1 -1
- package/lib/module/shared/hooks/animation/use-screen-animation.js +2 -2
- package/lib/module/shared/hooks/animation/use-screen-animation.js.map +1 -1
- package/lib/module/shared/hooks/gestures/use-build-gestures.js +4 -2
- package/lib/module/shared/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/module/shared/hooks/navigation/use-stack.js.map +1 -1
- 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/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 +9 -4
- package/lib/module/shared/providers/register-bounds.provider.js.map +1 -1
- package/lib/module/shared/providers/screen/keys.provider.js +2 -2
- package/lib/module/shared/providers/screen/styles.provider.js +39 -5
- package/lib/module/shared/providers/screen/styles.provider.js.map +1 -1
- package/lib/module/shared/providers/stack/core.provider.js +34 -11
- package/lib/module/shared/providers/stack/core.provider.js.map +1 -1
- package/lib/module/shared/providers/stack/direct.provider.js +6 -4
- package/lib/module/shared/providers/stack/direct.provider.js.map +1 -1
- package/lib/module/shared/providers/stack/managed.provider.js +7 -5
- package/lib/module/shared/providers/stack/managed.provider.js.map +1 -1
- package/lib/module/shared/types/index.js.map +1 -1
- package/lib/module/shared/types/stack.types.js +30 -1
- package/lib/module/shared/types/stack.types.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/navigation/sync-routes-with-removed.js +20 -45
- package/lib/module/shared/utils/navigation/sync-routes-with-removed.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 +1 -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 +3 -1
- 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 +2 -3
- package/lib/typescript/component-stack/index.d.ts.map +1 -1
- 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 +24 -191
- package/lib/typescript/component-stack/types.d.ts.map +1 -1
- package/lib/typescript/native-stack/views/NativeStackView.native.d.ts +1 -1
- package/lib/typescript/native-stack/views/NativeStackView.native.d.ts.map +1 -1
- package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts +0 -9
- package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts.map +1 -1
- package/lib/typescript/shared/components/overlay/index.d.ts +0 -2
- package/lib/typescript/shared/components/overlay/index.d.ts.map +1 -1
- package/lib/typescript/shared/constants.d.ts +1 -0
- 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 +7 -0
- package/lib/typescript/shared/hooks/animation/use-high-refresh-rate.d.ts.map +1 -1
- 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/navigation/use-stack.d.ts +4 -9
- package/lib/typescript/shared/hooks/navigation/use-stack.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/reanimated/use-shared-value-state.d.ts.map +1 -1
- package/lib/typescript/shared/index.d.ts +13 -13
- package/lib/typescript/shared/index.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 +2 -2
- package/lib/typescript/shared/providers/screen/styles.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/stack/core.provider.d.ts +15 -4
- package/lib/typescript/shared/providers/stack/core.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/stack/direct.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/stack/managed.provider.d.ts +1 -1
- package/lib/typescript/shared/providers/stack/managed.provider.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/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 +1 -12
- 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/types/stack.types.d.ts +5 -2
- package/lib/typescript/shared/types/stack.types.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/index.d.ts.map +1 -1
- package/lib/typescript/shared/utils/navigation/sync-routes-with-removed.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/blank-stack/components/adjusted-screen-container.tsx +25 -0
- package/src/blank-stack/components/{screens.tsx → adjusted-screen.tsx} +33 -12
- package/src/blank-stack/components/stack-view.native.tsx +94 -0
- package/src/blank-stack/components/stack-view.tsx +41 -47
- package/src/blank-stack/types.ts +3 -2
- 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 +6 -12
- package/src/component-stack/navigators/create-component-stack-navigator.tsx +88 -0
- package/src/component-stack/types.ts +80 -188
- package/src/native-stack/views/NativeStackView.native.tsx +104 -106
- package/src/shared/__tests__/sync-routes-with-removed.test.ts +0 -146
- package/src/shared/components/overlay/helpers/get-active-overlay.ts +0 -26
- package/src/shared/components/overlay/index.ts +0 -2
- package/src/shared/constants.ts +3 -0
- package/src/{blank-stack/controllers/blank-stack-lifecycle.tsx → shared/controller/managed-lifecycle.tsx} +14 -18
- package/src/shared/hooks/animation/use-high-refresh-rate.tsx +7 -1
- package/src/shared/hooks/animation/use-screen-animation.tsx +5 -3
- package/src/shared/hooks/gestures/use-build-gestures.tsx +9 -1
- package/src/shared/hooks/navigation/use-stack.tsx +4 -15
- package/src/shared/hooks/reanimated/use-shared-value-state.ts +5 -0
- package/src/shared/index.ts +2 -1
- package/src/shared/providers/layout-anchor.provider.tsx +81 -0
- package/src/shared/providers/register-bounds.provider.tsx +11 -4
- package/src/shared/providers/screen/keys.provider.tsx +2 -2
- package/src/shared/providers/screen/styles.provider.tsx +50 -5
- package/src/shared/providers/stack/core.provider.tsx +51 -28
- package/src/shared/providers/stack/direct.provider.tsx +4 -1
- package/src/shared/providers/stack/managed.provider.tsx +5 -2
- package/src/shared/types/bounds.types.ts +5 -0
- package/src/shared/types/index.ts +0 -1
- package/src/shared/types/overlay.types.ts +1 -14
- package/src/shared/types/screen.types.ts +2 -8
- package/src/shared/types/stack.types.ts +6 -2
- package/src/shared/utils/bounds/index.ts +18 -1
- package/src/shared/utils/navigation/sync-routes-with-removed.ts +28 -58
- package/lib/commonjs/blank-stack/components/screens.js.map +0 -1
- package/lib/commonjs/blank-stack/controllers/blank-stack-lifecycle.js.map +0 -1
- package/lib/commonjs/component-stack/components/component-view.js +0 -63
- package/lib/commonjs/component-stack/components/component-view.js.map +0 -1
- package/lib/commonjs/component-stack/components/screens.js +0 -64
- package/lib/commonjs/component-stack/components/screens.js.map +0 -1
- package/lib/commonjs/component-stack/controllers/component-stack-lifecycle.js +0 -82
- package/lib/commonjs/component-stack/controllers/component-stack-lifecycle.js.map +0 -1
- package/lib/commonjs/component-stack/hooks/use-component-navigation-builder.js +0 -321
- package/lib/commonjs/component-stack/hooks/use-component-navigation-builder.js.map +0 -1
- package/lib/commonjs/component-stack/hooks/use-component-navigation.js +0 -28
- package/lib/commonjs/component-stack/hooks/use-component-navigation.js.map +0 -1
- package/lib/commonjs/component-stack/navigators/create-component-navigator.js +0 -97
- package/lib/commonjs/component-stack/navigators/create-component-navigator.js.map +0 -1
- package/lib/commonjs/shared/components/overlay/variations/container-overlay.js +0 -99
- package/lib/commonjs/shared/components/overlay/variations/container-overlay.js.map +0 -1
- package/lib/module/blank-stack/components/screens.js.map +0 -1
- package/lib/module/blank-stack/controllers/blank-stack-lifecycle.js.map +0 -1
- package/lib/module/component-stack/components/component-view.js +0 -58
- package/lib/module/component-stack/components/component-view.js.map +0 -1
- package/lib/module/component-stack/components/screens.js +0 -58
- package/lib/module/component-stack/components/screens.js.map +0 -1
- package/lib/module/component-stack/controllers/component-stack-lifecycle.js +0 -76
- package/lib/module/component-stack/controllers/component-stack-lifecycle.js.map +0 -1
- package/lib/module/component-stack/hooks/use-component-navigation-builder.js +0 -316
- package/lib/module/component-stack/hooks/use-component-navigation-builder.js.map +0 -1
- package/lib/module/component-stack/hooks/use-component-navigation.js +0 -25
- package/lib/module/component-stack/hooks/use-component-navigation.js.map +0 -1
- package/lib/module/component-stack/navigators/create-component-navigator.js +0 -91
- package/lib/module/component-stack/navigators/create-component-navigator.js.map +0 -1
- package/lib/module/shared/components/overlay/variations/container-overlay.js +0 -97
- package/lib/module/shared/components/overlay/variations/container-overlay.js.map +0 -1
- package/lib/typescript/blank-stack/components/screens.d.ts.map +0 -1
- package/lib/typescript/blank-stack/controllers/blank-stack-lifecycle.d.ts +0 -9
- package/lib/typescript/blank-stack/controllers/blank-stack-lifecycle.d.ts.map +0 -1
- package/lib/typescript/component-stack/components/component-view.d.ts +0 -4
- package/lib/typescript/component-stack/components/component-view.d.ts.map +0 -1
- package/lib/typescript/component-stack/components/screens.d.ts +0 -9
- package/lib/typescript/component-stack/components/screens.d.ts.map +0 -1
- package/lib/typescript/component-stack/controllers/component-stack-lifecycle.d.ts +0 -10
- package/lib/typescript/component-stack/controllers/component-stack-lifecycle.d.ts.map +0 -1
- package/lib/typescript/component-stack/hooks/use-component-navigation-builder.d.ts +0 -19
- package/lib/typescript/component-stack/hooks/use-component-navigation-builder.d.ts.map +0 -1
- package/lib/typescript/component-stack/hooks/use-component-navigation.d.ts +0 -19
- package/lib/typescript/component-stack/hooks/use-component-navigation.d.ts.map +0 -1
- package/lib/typescript/component-stack/navigators/create-component-navigator.d.ts +0 -35
- package/lib/typescript/component-stack/navigators/create-component-navigator.d.ts.map +0 -1
- package/lib/typescript/shared/components/overlay/variations/container-overlay.d.ts +0 -8
- package/lib/typescript/shared/components/overlay/variations/container-overlay.d.ts.map +0 -1
- package/src/component-stack/components/component-view.tsx +0 -72
- package/src/component-stack/components/screens.tsx +0 -86
- package/src/component-stack/controllers/component-stack-lifecycle.tsx +0 -80
- package/src/component-stack/hooks/use-component-navigation-builder.tsx +0 -388
- package/src/component-stack/hooks/use-component-navigation.tsx +0 -22
- package/src/component-stack/navigators/create-component-navigator.tsx +0 -104
- package/src/shared/components/overlay/variations/container-overlay.tsx +0 -98
|
@@ -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","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","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,SAA8BC,OAAO,QAAQ,wBAAwB;AAyBrE;AACA;AACA;AACA;AACA;AACA,MAAMC,eAAe,GAAIC,OAAuB,IAAe;EAC9D,MAAMC,SAAmB,GAAG,EAAE;EAC9B,MAAMC,GAAG,GAAGF,OAAO,CAACG,UAAiB;;EAErC;EACA,IAAI,OAAOD,GAAG,EAAEE,SAAS,KAAK,UAAU,EAAE;IACzC,OAAOH,SAAS;EACjB;EAEA,IAAII,MAAM,GAAGH,GAAG,CAACE,SAAS,CAAC,CAAC;EAE5B,OAAOC,MAAM,EAAE;IACd,MAAMC,KAAK,GAAGD,MAAM,CAACE,QAAQ,CAAC,CAAC;IAC/B,IAAID,KAAK,EAAEE,MAAM,IAAIF,KAAK,CAACG,KAAK,KAAKC,SAAS,EAAE;MAC/C,MAAMC,YAAY,GAAGL,KAAK,CAACE,MAAM,CAACF,KAAK,CAACG,KAAK,CAAC;MAC9C,IAAIE,YAAY,EAAEC,GAAG,EAAE;QACtBX,SAAS,CAACY,IAAI,CAACF,YAAY,CAACC,GAAG,CAAC;MACjC;IACD;IACAP,MAAM,GAAGA,MAAM,CAACD,SAAS,CAAC,CAAC;EAC5B;EAEA,OAAOH,SAAS;AACjB,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMa,uBAAuB,GAAIC,MAKhC,IAAK;EACL,MAAM;IACLC,cAAc;IACdC,gBAAgB;IAChBC,YAAY;IACZC;EACD,CAAC,GAAGJ,MAAM;EAEV,MAAMK,WAAW,
|
|
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":[]}
|
|
@@ -6,8 +6,8 @@ import { createContext, useContext, useMemo } from "react";
|
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Base descriptor interface - minimal contract for all stack types.
|
|
9
|
-
* This allows
|
|
10
|
-
*
|
|
9
|
+
* This allows blank-stack and native-stack to work with the shared
|
|
10
|
+
* providers without tight coupling to React Navigation.
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { createContext, useContext, useMemo } from "react";
|
|
4
|
-
import { useDerivedValue } from "react-native-reanimated";
|
|
4
|
+
import { useDerivedValue, useSharedValue } from "react-native-reanimated";
|
|
5
5
|
import { NO_STYLES } from "../../constants";
|
|
6
6
|
import { _useScreenAnimation } from "../../hooks/animation/use-screen-animation";
|
|
7
7
|
import { createBounds } from "../../utils/bounds";
|
|
@@ -13,17 +13,51 @@ export function ScreenStylesProvider({
|
|
|
13
13
|
const parentCtx = useContext(ScreenStylesContext);
|
|
14
14
|
const {
|
|
15
15
|
screenInterpolatorProps,
|
|
16
|
-
|
|
16
|
+
nextInterpolator,
|
|
17
|
+
currentInterpolator
|
|
17
18
|
} = _useScreenAnimation();
|
|
19
|
+
|
|
20
|
+
// Track when a gesture is triggered while another screen is closing
|
|
21
|
+
const hasTriggeredGestureWhileInFlight = useSharedValue(false);
|
|
18
22
|
const stylesMap = useDerivedValue(() => {
|
|
19
23
|
"worklet";
|
|
20
24
|
|
|
21
25
|
const props = screenInterpolatorProps.value;
|
|
22
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;
|
|
23
57
|
try {
|
|
24
|
-
if (!
|
|
25
|
-
return
|
|
26
|
-
...
|
|
58
|
+
if (!interpolator) return NO_STYLES;
|
|
59
|
+
return interpolator({
|
|
60
|
+
...effectiveProps,
|
|
27
61
|
bounds
|
|
28
62
|
});
|
|
29
63
|
} catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","useContext","useMemo","useDerivedValue","NO_STYLES","_useScreenAnimation","createBounds","jsx","_jsx","ScreenStylesContext","ScreenStylesProvider","children","parentCtx","screenInterpolatorProps","
|
|
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":";;AAAA,SAASA,aAAa,EAAEC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAC1D,SAECC,eAAe,EACfC,cAAc,QACR,yBAAyB;AAChC,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,mBAAmB,QAAQ,4CAA4C;AAEhF,SAASC,YAAY,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAWlD,MAAMC,mBAAmB,gBAAGV,aAAa,CACxC,IACD,CAAC;AAED,OAAO,SAASW,oBAAoBA,CAAC;EAAEC;AAAgB,CAAC,EAAE;EACzD,MAAMC,SAAS,GAAGZ,UAAU,CAACS,mBAAmB,CAAC;EAEjD,MAAM;IAAEI,uBAAuB;IAAEC,gBAAgB;IAAEC;EAAoB,CAAC,GACvEV,mBAAmB,CAAC,CAAC;;EAEtB;EACA,MAAMW,gCAAgC,GAAGb,cAAc,CAAC,KAAK,CAAC;EAE9D,MAAMc,SAAS,GAAGf,eAAe,CAA8B,MAAM;IACpE,SAAS;;IACT,MAAMgB,KAAK,GAAGL,uBAAuB,CAACM,KAAK;IAC3C,MAAMC,MAAM,GAAGd,YAAY,CAACY,KAAK,CAAC;;IAElC;IACA,IAAIA,KAAK,CAACG,OAAO,CAACC,OAAO,CAACC,UAAU,IAAIL,KAAK,CAACM,IAAI,EAAEC,OAAO,EAAE;MAC5DT,gCAAgC,CAACG,KAAK,GAAG,IAAI;IAC9C;;IAEA;IACA,IACC,CAACD,KAAK,CAACG,OAAO,CAACC,OAAO,CAACC,UAAU,IACjC,CAACL,KAAK,CAACM,IAAI,EAAEC,OAAO,IACpBT,gCAAgC,CAACG,KAAK,EACrC;MACDH,gCAAgC,CAACG,KAAK,GAAG,KAAK;IAC/C;;IAEA;IACA;IACA,MAAMO,4BAA4B,GACjCR,KAAK,CAACG,OAAO,CAACC,OAAO,CAACC,UAAU,IAChCP,gCAAgC,CAACG,KAAK;IAEvC,MAAMQ,YAAY,GAAGD,4BAA4B,GAC9CX,mBAAmB,GAClBD,gBAAgB,IAAIC,mBAAoB;;IAE5C;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACE,MAAMa,cAAc,GAAGF,4BAA4B,GAChD;MAAE,GAAGR,KAAK;MAAEW,QAAQ,EAAEX,KAAK,CAACG,OAAO,CAACQ,QAAQ;MAAEL,IAAI,EAAEM;IAAU,CAAC,GAC/DZ,KAAK;IAER,IAAI;MACH,IAAI,CAACS,YAAY,EAAE,OAAOvB,SAAS;MACnC,OAAOuB,YAAY,CAAC;QACnB,GAAGC,cAAc;QACjBR;MACD,CAAC,CAAC;IACH,CAAC,CAAC,OAAOW,GAAG,EAAE;MACb,IAAIC,OAAO,EAAE;QACZC,OAAO,CAACC,IAAI,CACX,6EAA6E,EAC7EH,GACD,CAAC;MACF;MACA,OAAO3B,SAAS;IACjB;EACD,CAAC,CAAC;EAEF,MAAMe,KAAK,GAAGlB,OAAO,CAAC,MAAM;IAC3B;IACA,MAAMkC,kBAAkB,GAAGvB,SAAS,GACjC,CAACA,SAAS,CAACK,SAAS,EAAE,GAAGL,SAAS,CAACuB,kBAAkB,CAAC,GACtD,EAAE;IAEL,OAAO;MACNlB,SAAS;MACTkB;IACD,CAAC;EACF,CAAC,EAAE,CAAClB,SAAS,EAAEL,SAAS,CAAC,CAAC;EAE1B,oBACCJ,IAAA,CAACC,mBAAmB,CAAC2B,QAAQ;IAACjB,KAAK,EAAEA,KAAM;IAAAR,QAAA,EACzCA;EAAQ,CACoB,CAAC;AAEjC;AAEA,OAAO,SAAS0B,eAAeA,CAAA,EAAG;EACjC,MAAMC,GAAG,GAAGtC,UAAU,CAACS,mBAAmB,CAAC;EAC3C,IAAI,CAAC6B,GAAG,EAAE;IACT,MAAM,IAAIC,KAAK,CACd,oEACD,CAAC;EACF;EACA,OAAOD,GAAG;AACX","ignoreList":[]}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { SafeAreaProviderCompat } from "@react-navigation/elements";
|
|
4
|
-
import * as React from "react";
|
|
5
4
|
import { StyleSheet } from "react-native";
|
|
6
5
|
import { GestureHandlerRootView } from "react-native-gesture-handler";
|
|
6
|
+
import { StackType } from "../../types/stack.types";
|
|
7
7
|
import createProvider from "../../utils/create-provider";
|
|
8
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
9
|
const {
|
|
10
|
-
StackCoreProvider: InternalStackCoreProvider
|
|
10
|
+
StackCoreProvider: InternalStackCoreProvider,
|
|
11
|
+
useStackCoreContext
|
|
11
12
|
} = createProvider("StackCore", {
|
|
12
13
|
guarded: true
|
|
13
14
|
})(({
|
|
@@ -15,15 +16,18 @@ const {
|
|
|
15
16
|
children
|
|
16
17
|
}) => {
|
|
17
18
|
const {
|
|
18
|
-
TRANSITIONS_ALWAYS_ON = false
|
|
19
|
+
TRANSITIONS_ALWAYS_ON = false,
|
|
20
|
+
DISABLE_NATIVE_SCREENS = false,
|
|
21
|
+
STACK_TYPE = StackType.BLANK
|
|
19
22
|
} = config;
|
|
20
|
-
const value = React.useMemo(() => ({
|
|
21
|
-
flags: {
|
|
22
|
-
TRANSITIONS_ALWAYS_ON
|
|
23
|
-
}
|
|
24
|
-
}), [TRANSITIONS_ALWAYS_ON]);
|
|
25
23
|
return {
|
|
26
|
-
value
|
|
24
|
+
value: {
|
|
25
|
+
flags: {
|
|
26
|
+
TRANSITIONS_ALWAYS_ON,
|
|
27
|
+
STACK_TYPE,
|
|
28
|
+
DISABLE_NATIVE_SCREENS
|
|
29
|
+
}
|
|
30
|
+
},
|
|
27
31
|
children: /*#__PURE__*/_jsx(GestureHandlerRootView, {
|
|
28
32
|
style: styles.container,
|
|
29
33
|
children: /*#__PURE__*/_jsx(SafeAreaProviderCompat, {
|
|
@@ -37,8 +41,26 @@ const {
|
|
|
37
41
|
* HOC that wraps a component with the StackCore provider.
|
|
38
42
|
* Just a simple open gate
|
|
39
43
|
*/
|
|
40
|
-
export function withStackCore(
|
|
41
|
-
return function StackCoreWrapper(
|
|
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
|
+
};
|
|
42
64
|
return /*#__PURE__*/_jsx(InternalStackCoreProvider, {
|
|
43
65
|
config: config,
|
|
44
66
|
children: /*#__PURE__*/_jsx(Component, {
|
|
@@ -52,4 +74,5 @@ const styles = StyleSheet.create({
|
|
|
52
74
|
flex: 1
|
|
53
75
|
}
|
|
54
76
|
});
|
|
77
|
+
export { useStackCoreContext };
|
|
55
78
|
//# sourceMappingURL=core.provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SafeAreaProviderCompat","
|
|
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":[]}
|
|
@@ -5,6 +5,7 @@ import { useMemo } from "react";
|
|
|
5
5
|
import { useDerivedValue } from "react-native-reanimated";
|
|
6
6
|
import { StackContext } from "../../hooks/navigation/use-stack";
|
|
7
7
|
import { AnimationStore } from "../../stores/animation.store";
|
|
8
|
+
import { useStackCoreContext } from "./core.provider";
|
|
8
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
10
|
const DirectStackContext = /*#__PURE__*/React.createContext(null);
|
|
10
11
|
DirectStackContext.displayName = "DirectStack";
|
|
@@ -26,6 +27,9 @@ function useDirectStackValue(props) {
|
|
|
26
27
|
descriptors,
|
|
27
28
|
describe
|
|
28
29
|
} = props;
|
|
30
|
+
const {
|
|
31
|
+
flags
|
|
32
|
+
} = useStackCoreContext();
|
|
29
33
|
const preloadedDescriptors = useMemo(() => {
|
|
30
34
|
return state.preloadedRoutes.reduce((acc, route) => {
|
|
31
35
|
acc[route.key] = acc[route.key] || describe(route, true);
|
|
@@ -98,9 +102,7 @@ function useDirectStackValue(props) {
|
|
|
98
102
|
});
|
|
99
103
|
const focusedIndex = state.index;
|
|
100
104
|
const stackContextValue = useMemo(() => ({
|
|
101
|
-
flags
|
|
102
|
-
TRANSITIONS_ALWAYS_ON: false
|
|
103
|
-
},
|
|
105
|
+
flags,
|
|
104
106
|
routeKeys,
|
|
105
107
|
routes: allRoutes,
|
|
106
108
|
descriptors: allDescriptors,
|
|
@@ -108,7 +110,7 @@ function useDirectStackValue(props) {
|
|
|
108
110
|
focusedIndex,
|
|
109
111
|
stackProgress,
|
|
110
112
|
optimisticFocusedIndex
|
|
111
|
-
}), [routeKeys, allRoutes, allDescriptors, scenes, focusedIndex, stackProgress, optimisticFocusedIndex]);
|
|
113
|
+
}), [routeKeys, allRoutes, allDescriptors, scenes, focusedIndex, stackProgress, optimisticFocusedIndex, flags]);
|
|
112
114
|
|
|
113
115
|
// DirectStack context value
|
|
114
116
|
const lifecycleValue = useMemo(() => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","useDerivedValue","StackContext","AnimationStore","jsx","_jsx","DirectStackContext","createContext","displayName","useDirectStackContext","context","useContext","Error","useDirectStackValue","props","state","navigation","descriptors","describe","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","
|
|
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":[]}
|
|
@@ -5,6 +5,7 @@ import { useMemo } from "react";
|
|
|
5
5
|
import { useDerivedValue } from "react-native-reanimated";
|
|
6
6
|
import { StackContext } from "../../hooks/navigation/use-stack";
|
|
7
7
|
import { AnimationStore } from "../../stores/animation.store";
|
|
8
|
+
import { useStackCoreContext } from "./core.provider";
|
|
8
9
|
import { calculateActiveScreensLimit } from "./helpers/active-screens-limit";
|
|
9
10
|
import { useLocalRoutes } from "./helpers/use-local-routes";
|
|
10
11
|
|
|
@@ -27,6 +28,9 @@ function useManagedStackContext() {
|
|
|
27
28
|
return context;
|
|
28
29
|
}
|
|
29
30
|
function useManagedStackValue(props) {
|
|
31
|
+
const {
|
|
32
|
+
flags
|
|
33
|
+
} = useStackCoreContext();
|
|
30
34
|
const {
|
|
31
35
|
state,
|
|
32
36
|
handleCloseRoute,
|
|
@@ -93,9 +97,7 @@ function useManagedStackValue(props) {
|
|
|
93
97
|
|
|
94
98
|
// StackContext value - for overlays via useStack()
|
|
95
99
|
const stackContextValue = useMemo(() => ({
|
|
96
|
-
flags
|
|
97
|
-
TRANSITIONS_ALWAYS_ON: true
|
|
98
|
-
},
|
|
100
|
+
flags,
|
|
99
101
|
routeKeys,
|
|
100
102
|
routes: state.routes,
|
|
101
103
|
descriptors: state.descriptors,
|
|
@@ -103,7 +105,7 @@ function useManagedStackValue(props) {
|
|
|
103
105
|
focusedIndex,
|
|
104
106
|
stackProgress,
|
|
105
107
|
optimisticFocusedIndex
|
|
106
|
-
}), [routeKeys, state.routes, state.descriptors, scenes, focusedIndex, stackProgress, optimisticFocusedIndex]);
|
|
108
|
+
}), [routeKeys, state.routes, state.descriptors, scenes, focusedIndex, stackProgress, optimisticFocusedIndex, flags]);
|
|
107
109
|
|
|
108
110
|
// ManagedStack context value
|
|
109
111
|
const lifecycleValue = useMemo(() => ({
|
|
@@ -126,7 +128,7 @@ function useManagedStackValue(props) {
|
|
|
126
128
|
|
|
127
129
|
/**
|
|
128
130
|
* HOC that wraps component with ManagedStack provider AND StackContext.
|
|
129
|
-
* Used by blank-stack
|
|
131
|
+
* Used by blank-stack which manages local route state for closing animations.
|
|
130
132
|
* Generic over descriptor type - defaults to BaseStackDescriptor.
|
|
131
133
|
*/
|
|
132
134
|
function withManagedStack(Component) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","useDerivedValue","StackContext","AnimationStore","calculateActiveScreensLimit","useLocalRoutes","jsx","_jsx","ManagedStackContext","createContext","displayName","useManagedStackContext","context","useContext","Error","useManagedStackValue","props","state","handleCloseRoute","closingRouteKeys","scenes","activeScreensLimit","shouldShowFloatOverlay","routeKeys","route","routes","descriptor","descriptors","key","push","options","overlayMode","overlayShown","animationMaps","map","getAll","stackProgress","total","i","length","progress","value","optimisticFocusedIndex","currentIndex","isAnyClosing","closing","Number","focusedIndex","index","stackContextValue","
|
|
1
|
+
{"version":3,"names":["React","useMemo","useDerivedValue","StackContext","AnimationStore","useStackCoreContext","calculateActiveScreensLimit","useLocalRoutes","jsx","_jsx","ManagedStackContext","createContext","displayName","useManagedStackContext","context","useContext","Error","useManagedStackValue","props","flags","state","handleCloseRoute","closingRouteKeys","scenes","activeScreensLimit","shouldShowFloatOverlay","routeKeys","route","routes","descriptor","descriptors","key","push","options","overlayMode","overlayShown","animationMaps","map","getAll","stackProgress","total","i","length","progress","value","optimisticFocusedIndex","currentIndex","isAnyClosing","closing","Number","focusedIndex","index","stackContextValue","lifecycleValue","closingRouteKeysShared","shared","withManagedStack","Component","ManagedStackProvider","Provider","children"],"sourceRoot":"../../../../../src","sources":["shared/providers/stack/managed.provider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FALSE","TRUE"],"sourceRoot":"../../../../src","sources":["shared/types/index.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["FALSE","TRUE"],"sourceRoot":"../../../../src","sources":["shared/types/index.ts"],"mappings":";;AA6CA,SAASA,KAAK,EAAEC,IAAI,QAAQ,eAAe","ignoreList":[]}
|
|
@@ -1,4 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Base route interface - minimal contract all stacks satisfy.
|
|
5
|
+
* Uses `object` for params to be compatible with React Navigation's `Readonly<object | undefined>`.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Base navigation interface - minimal contract for gesture handling.
|
|
10
|
+
* Both React Navigation helpers and ComponentNavigation satisfy this.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Base descriptor interface - generic over route, navigation, and options.
|
|
15
|
+
* All stack descriptors (BlankStack, NativeStack) extend this.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Base scene interface - route + descriptor pair.
|
|
20
|
+
* Used by all stack views to iterate over screens.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Base state interface - routes array with index.
|
|
25
|
+
* Common structure across all navigation states.
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
export let StackType = /*#__PURE__*/function (StackType) {
|
|
29
|
+
StackType["NATIVE"] = "native";
|
|
30
|
+
StackType["BLANK"] = "blank";
|
|
31
|
+
return StackType;
|
|
32
|
+
}({});
|
|
4
33
|
//# sourceMappingURL=stack.types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["shared/types/stack.types.ts"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["StackType"],"sourceRoot":"../../../../src","sources":["shared/types/stack.types.ts"],"mappings":";;AAEA;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;;AAYA;AACA;AACA;AACA;;AAQA;AACA;AACA;AACA;;AASA,WAAYA,SAAS,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { interpolate } from "react-native-reanimated";
|
|
3
4
|
import { EMPTY_BOUND_HELPER_RESULT, EMPTY_BOUND_HELPER_RESULT_RAW, ENTER_RANGE, EXIT_RANGE, FULLSCREEN_DIMENSIONS } from "../../constants";
|
|
4
5
|
import { BoundStore } from "../../stores/bounds.store";
|
|
5
6
|
import { computeContentTransformGeometry, computeRelativeGeometry } from "./helpers/geometry";
|
|
@@ -175,10 +176,21 @@ export const createBounds = props => {
|
|
|
175
176
|
fallback
|
|
176
177
|
});
|
|
177
178
|
};
|
|
179
|
+
const interpolateBounds = (tag, property, fallback) => {
|
|
180
|
+
"worklet";
|
|
181
|
+
|
|
182
|
+
const link = getLink(tag);
|
|
183
|
+
const entering = !props.next;
|
|
184
|
+
const range = entering ? ENTER_RANGE : EXIT_RANGE;
|
|
185
|
+
const sourceValue = link?.source?.bounds?.[property] ?? fallback ?? 0;
|
|
186
|
+
const destValue = link?.destination?.bounds?.[property] ?? fallback ?? 0;
|
|
187
|
+
return interpolate(props.progress, range, [sourceValue, destValue], "clamp");
|
|
188
|
+
};
|
|
178
189
|
return Object.assign(boundsFunction, {
|
|
179
190
|
getSnapshot,
|
|
180
191
|
getLink,
|
|
181
|
-
interpolateStyle
|
|
192
|
+
interpolateStyle,
|
|
193
|
+
interpolateBounds
|
|
182
194
|
});
|
|
183
195
|
};
|
|
184
196
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["EMPTY_BOUND_HELPER_RESULT","EMPTY_BOUND_HELPER_RESULT_RAW","ENTER_RANGE","EXIT_RANGE","FULLSCREEN_DIMENSIONS","BoundStore","computeContentTransformGeometry","computeRelativeGeometry","interpolateLinkStyle","composeContentStyle","composeSizeAbsolute","composeSizeRelative","composeTransformAbsolute","composeTransformRelative","resolveBounds","props","entering","next","fullscreen","dimensions","isFullscreenTarget","computeOptions","target","link","getActiveLink","id","current","route","key","source","start","end","destination","bounds","customTarget","computeBoundStyles","previous","progress","raw","ranges","method","geometry","anchor","scaleMode","common","isSize","isAbs","space","createBounds","boundsFunction","params","layouts","screen","getSnapshot","tag","getLink","styles","interpolateStyle","property","fallback","Object","assign"],"sourceRoot":"../../../../../src","sources":["shared/utils/bounds/index.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["interpolate","EMPTY_BOUND_HELPER_RESULT","EMPTY_BOUND_HELPER_RESULT_RAW","ENTER_RANGE","EXIT_RANGE","FULLSCREEN_DIMENSIONS","BoundStore","computeContentTransformGeometry","computeRelativeGeometry","interpolateLinkStyle","composeContentStyle","composeSizeAbsolute","composeSizeRelative","composeTransformAbsolute","composeTransformRelative","resolveBounds","props","entering","next","fullscreen","dimensions","isFullscreenTarget","computeOptions","target","link","getActiveLink","id","current","route","key","source","start","end","destination","bounds","customTarget","computeBoundStyles","previous","progress","raw","ranges","method","geometry","anchor","scaleMode","common","isSize","isAbs","space","createBounds","boundsFunction","params","layouts","screen","getSnapshot","tag","getLink","styles","interpolateStyle","property","fallback","interpolateBounds","range","sourceValue","destValue","Object","assign"],"sourceRoot":"../../../../../src","sources":["shared/utils/bounds/index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,19 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { AnimationStore } from "../../stores/animation.store";
|
|
4
|
-
import { GestureStore } from "../../stores/gesture.store";
|
|
5
|
-
import { readSharedValue } from "../read-shared-value";
|
|
6
3
|
import { composeDescriptors } from "./compose-descriptors";
|
|
7
|
-
const isRouteDismissing = routeKey => {
|
|
8
|
-
const gestures = GestureStore.getRouteGestures(routeKey);
|
|
9
|
-
const animations = AnimationStore.getAll(routeKey);
|
|
10
|
-
const isBeingDragged = readSharedValue(gestures.isDragging) === 1;
|
|
11
|
-
const isProgrammaticallyDismissing = readSharedValue(gestures.isDismissing) === 1;
|
|
12
|
-
const isClosing = readSharedValue(animations.closing) === 1;
|
|
13
|
-
const hasNotFullyEntered = readSharedValue(animations.progress) < 0.5;
|
|
14
|
-
return isBeingDragged || isProgrammaticallyDismissing || isClosing || hasNotFullyEntered;
|
|
15
|
-
};
|
|
16
|
-
|
|
17
4
|
/**
|
|
18
5
|
* Synchronizes routes while handling removed routes that may still be animating out.
|
|
19
6
|
* This manages the complex logic of keeping closing routes visible during transitions.
|
|
@@ -33,41 +20,29 @@ export const syncRoutesWithRemoved = ({
|
|
|
33
20
|
};
|
|
34
21
|
}
|
|
35
22
|
|
|
36
|
-
//
|
|
37
|
-
|
|
38
|
-
const stableRoutes = [];
|
|
39
|
-
const dismissingMiddleRoutes = [];
|
|
40
|
-
for (let i = 0; i < nextRoutes.length; i++) {
|
|
41
|
-
const route = nextRoutes[i];
|
|
42
|
-
const isFirstOrLast = i === 0 || i === nextRoutes.length - 1;
|
|
43
|
-
if (!isFirstOrLast && isRouteDismissing(route.key)) {
|
|
44
|
-
closingRouteKeys.add(route.key);
|
|
45
|
-
dismissingMiddleRoutes.push(route);
|
|
46
|
-
} else {
|
|
47
|
-
stableRoutes.push(route);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
const routes = [...stableRoutes, ...dismissingMiddleRoutes];
|
|
23
|
+
// Start with next routes, will mutate if needed
|
|
24
|
+
const derivedRoutes = nextRoutes.slice();
|
|
51
25
|
|
|
52
|
-
//
|
|
26
|
+
// Get focused (last) routes for comparison
|
|
53
27
|
const previousFocusedRoute = prevRoutes[prevRoutes.length - 1];
|
|
54
28
|
const nextFocusedRoute = nextRoutes[nextRoutes.length - 1];
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
29
|
+
|
|
30
|
+
// Handle focus changes between routes
|
|
31
|
+
if (previousFocusedRoute && nextFocusedRoute && previousFocusedRoute.key !== nextFocusedRoute.key) {
|
|
32
|
+
const nextRouteWasPresent = prevRoutes.some(route => route.key === nextFocusedRoute.key);
|
|
33
|
+
const previousRouteStillPresent = nextRoutes.some(route => route.key === previousFocusedRoute.key);
|
|
34
|
+
if (nextRouteWasPresent && !previousRouteStillPresent) {
|
|
35
|
+
// Previous route was removed, mark as closing
|
|
61
36
|
closingRouteKeys.add(previousFocusedRoute.key);
|
|
62
|
-
|
|
37
|
+
derivedRoutes.push(previousFocusedRoute);
|
|
63
38
|
} else {
|
|
64
|
-
//
|
|
39
|
+
// Next route is now active, not closing
|
|
65
40
|
closingRouteKeys.remove(nextFocusedRoute.key);
|
|
66
|
-
if (!
|
|
67
|
-
// Previous route
|
|
68
|
-
const insertIndex = Math.max(routes.length - 1, 0);
|
|
69
|
-
routes.splice(insertIndex, 0, previousFocusedRoute);
|
|
41
|
+
if (!previousRouteStillPresent) {
|
|
42
|
+
// Previous route needs to be inserted for transition
|
|
70
43
|
closingRouteKeys.remove(previousFocusedRoute.key);
|
|
44
|
+
const insertIndex = Math.max(derivedRoutes.length - 1, 0);
|
|
45
|
+
derivedRoutes.splice(insertIndex, 0, previousFocusedRoute);
|
|
71
46
|
}
|
|
72
47
|
}
|
|
73
48
|
} else if (nextFocusedRoute) {
|
|
@@ -75,16 +50,16 @@ export const syncRoutesWithRemoved = ({
|
|
|
75
50
|
closingRouteKeys.remove(nextFocusedRoute.key);
|
|
76
51
|
}
|
|
77
52
|
|
|
78
|
-
// Clean up
|
|
79
|
-
const activeKeys = new Set(
|
|
53
|
+
// Clean up closing keys that are no longer in the route list
|
|
54
|
+
const activeKeys = new Set(derivedRoutes.map(route => route.key));
|
|
80
55
|
for (const key of Array.from(closingRouteKeys.ref.current)) {
|
|
81
56
|
if (!activeKeys.has(key)) {
|
|
82
57
|
closingRouteKeys.remove(key);
|
|
83
58
|
}
|
|
84
59
|
}
|
|
85
60
|
return {
|
|
86
|
-
routes,
|
|
87
|
-
descriptors: composeDescriptors(
|
|
61
|
+
routes: derivedRoutes,
|
|
62
|
+
descriptors: composeDescriptors(derivedRoutes, nextDescriptors, prevDescriptors)
|
|
88
63
|
};
|
|
89
64
|
};
|
|
90
65
|
//# sourceMappingURL=sync-routes-with-removed.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["composeDescriptors","syncRoutesWithRemoved","prevRoutes","prevDescriptors","nextRoutes","nextDescriptors","closingRouteKeys","length","clear","routes","descriptors","derivedRoutes","slice","previousFocusedRoute","nextFocusedRoute","key","nextRouteWasPresent","some","route","previousRouteStillPresent","add","push","remove","insertIndex","Math","max","splice","activeKeys","Set","map","Array","from","ref","current","has"],"sourceRoot":"../../../../../src","sources":["shared/utils/navigation/sync-routes-with-removed.ts"],"mappings":";;AACA,SAASA,kBAAkB,QAAQ,uBAAuB;AAiB1D;AACA;AACA;AACA;AACA,OAAO,MAAMC,qBAAqB,GAAGA,CAGnC;EACDC,UAAU;EACVC,eAAe;EACfC,UAAU;EACVC,eAAe;EACfC;AACkD,CAAC,KAG/C;EACJ,IAAIF,UAAU,CAACG,MAAM,KAAK,CAAC,EAAE;IAC5BD,gBAAgB,CAACE,KAAK,CAAC,CAAC;IACxB,OAAO;MACNC,MAAM,EAAEL,UAAU;MAClBM,WAAW,EAAE,CAAC;IACf,CAAC;EACF;;EAEA;EACA,MAAMC,aAAsB,GAAGP,UAAU,CAACQ,KAAK,CAAC,CAAC;;EAEjD;EACA,MAAMC,oBAAoB,GAAGX,UAAU,CAACA,UAAU,CAACK,MAAM,GAAG,CAAC,CAAC;EAC9D,MAAMO,gBAAgB,GAAGV,UAAU,CAACA,UAAU,CAACG,MAAM,GAAG,CAAC,CAAC;;EAE1D;EACA,IACCM,oBAAoB,IACpBC,gBAAgB,IAChBD,oBAAoB,CAACE,GAAG,KAAKD,gBAAgB,CAACC,GAAG,EAChD;IACD,MAAMC,mBAAmB,GAAGd,UAAU,CAACe,IAAI,CACzCC,KAAK,IAAKA,KAAK,CAACH,GAAG,KAAKD,gBAAgB,CAACC,GAC3C,CAAC;IACD,MAAMI,yBAAyB,GAAGf,UAAU,CAACa,IAAI,CAC/CC,KAAK,IAAKA,KAAK,CAACH,GAAG,KAAKF,oBAAoB,CAACE,GAC/C,CAAC;IAED,IAAIC,mBAAmB,IAAI,CAACG,yBAAyB,EAAE;MACtD;MACAb,gBAAgB,CAACc,GAAG,CAACP,oBAAoB,CAACE,GAAG,CAAC;MAE9CJ,aAAa,CAACU,IAAI,CAACR,oBAAoB,CAAC;IACzC,CAAC,MAAM;MACN;MACAP,gBAAgB,CAACgB,MAAM,CAACR,gBAAgB,CAACC,GAAG,CAAC;MAE7C,IAAI,CAACI,yBAAyB,EAAE;QAC/B;QACAb,gBAAgB,CAACgB,MAAM,CAACT,oBAAoB,CAACE,GAAG,CAAC;QAEjD,MAAMQ,WAAW,GAAGC,IAAI,CAACC,GAAG,CAACd,aAAa,CAACJ,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;QACzDI,aAAa,CAACe,MAAM,CAACH,WAAW,EAAE,CAAC,EAAEV,oBAAoB,CAAC;MAC3D;IACD;EACD,CAAC,MAAM,IAAIC,gBAAgB,EAAE;IAC5B;IACAR,gBAAgB,CAACgB,MAAM,CAACR,gBAAgB,CAACC,GAAG,CAAC;EAC9C;;EAEA;EACA,MAAMY,UAAU,GAAG,IAAIC,GAAG,CAACjB,aAAa,CAACkB,GAAG,CAAEX,KAAK,IAAKA,KAAK,CAACH,GAAG,CAAC,CAAC;EACnE,KAAK,MAAMA,GAAG,IAAIe,KAAK,CAACC,IAAI,CAACzB,gBAAgB,CAAC0B,GAAG,CAACC,OAAO,CAAC,EAAE;IAC3D,IAAI,CAACN,UAAU,CAACO,GAAG,CAACnB,GAAG,CAAC,EAAE;MACzBT,gBAAgB,CAACgB,MAAM,CAACP,GAAG,CAAC;IAC7B;EACD;EAEA,OAAO;IACNN,MAAM,EAAEE,aAAa;IACrBD,WAAW,EAAEV,kBAAkB,CAC9BW,aAAa,EACbN,eAAe,EACfF,eACD;EACD,CAAC;AACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adjusted-screen-container.d.ts","sourceRoot":"","sources":["../../../../src/blank-stack/components/adjusted-screen-container.tsx"],"names":[],"mappings":"AAIA,UAAU,KAAK;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,eAAO,MAAM,uBAAuB,GAAI,cAAc,KAAK,4CAU1D,CAAC"}
|