react-native-screen-transitions 3.0.0-rc.3 → 3.0.0-rc.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/blank-stack/components/screens.js +16 -11
- package/lib/commonjs/blank-stack/components/screens.js.map +1 -1
- package/lib/commonjs/blank-stack/components/stack-view.js +42 -36
- package/lib/commonjs/blank-stack/components/stack-view.js.map +1 -1
- package/lib/commonjs/native-stack/views/NativeStackView.native.js +110 -103
- package/lib/commonjs/native-stack/views/NativeStackView.native.js.map +1 -1
- package/lib/commonjs/shared/components/controllers/blank-stack-lifecycle.js +72 -0
- package/lib/commonjs/shared/components/controllers/blank-stack-lifecycle.js.map +1 -0
- package/lib/commonjs/shared/components/controllers/native-stack-lifecycle.js +79 -0
- package/lib/commonjs/shared/components/controllers/native-stack-lifecycle.js.map +1 -0
- package/lib/commonjs/shared/hooks/animation/use-screen-animation.js +11 -1
- package/lib/commonjs/shared/hooks/animation/use-screen-animation.js.map +1 -1
- package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js +11 -6
- package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js +7 -7
- package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
- package/lib/commonjs/shared/providers/gestures.provider.js +32 -5
- package/lib/commonjs/shared/providers/gestures.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/register-bounds.provider.js +4 -3
- package/lib/commonjs/shared/providers/register-bounds.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/routes.provider.js +48 -0
- package/lib/commonjs/shared/providers/routes.provider.js.map +1 -0
- package/lib/commonjs/shared/providers/screen-transition.provider.js.map +1 -1
- package/lib/commonjs/shared/types/state.types.js +9 -0
- package/lib/commonjs/shared/types/state.types.js.map +1 -0
- package/lib/commonjs/shared/utils/animation/compute-stack-progress.js +20 -0
- package/lib/commonjs/shared/utils/animation/compute-stack-progress.js.map +1 -0
- package/lib/commonjs/shared/utils/animation/derivations.js +1 -1
- package/lib/commonjs/shared/utils/animation/start-screen-transition.js +11 -11
- package/lib/commonjs/shared/utils/animation/start-screen-transition.js.map +1 -1
- package/lib/module/blank-stack/components/screens.js +16 -11
- package/lib/module/blank-stack/components/screens.js.map +1 -1
- package/lib/module/blank-stack/components/stack-view.js +42 -36
- package/lib/module/blank-stack/components/stack-view.js.map +1 -1
- package/lib/module/native-stack/views/NativeStackView.native.js +109 -102
- package/lib/module/native-stack/views/NativeStackView.native.js.map +1 -1
- package/lib/module/shared/components/controllers/blank-stack-lifecycle.js +66 -0
- package/lib/module/shared/components/controllers/blank-stack-lifecycle.js.map +1 -0
- package/lib/module/shared/components/controllers/native-stack-lifecycle.js +73 -0
- package/lib/module/shared/components/controllers/native-stack-lifecycle.js.map +1 -0
- package/lib/module/shared/hooks/animation/use-screen-animation.js +11 -1
- package/lib/module/shared/hooks/animation/use-screen-animation.js.map +1 -1
- package/lib/module/shared/hooks/gestures/use-build-gestures.js +11 -6
- package/lib/module/shared/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/module/shared/hooks/gestures/use-scroll-registry.js +7 -7
- package/lib/module/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
- package/lib/module/shared/providers/gestures.provider.js +31 -4
- package/lib/module/shared/providers/gestures.provider.js.map +1 -1
- package/lib/module/shared/providers/register-bounds.provider.js +4 -3
- package/lib/module/shared/providers/register-bounds.provider.js.map +1 -1
- package/lib/module/shared/providers/routes.provider.js +42 -0
- package/lib/module/shared/providers/routes.provider.js.map +1 -0
- package/lib/module/shared/providers/screen-transition.provider.js.map +1 -1
- package/lib/module/shared/types/state.types.js +5 -0
- package/lib/module/shared/types/state.types.js.map +1 -0
- package/lib/module/shared/utils/animation/compute-stack-progress.js +15 -0
- package/lib/module/shared/utils/animation/compute-stack-progress.js.map +1 -0
- package/lib/module/shared/utils/animation/derivations.js +1 -1
- package/lib/module/shared/utils/animation/start-screen-transition.js +11 -11
- package/lib/module/shared/utils/animation/start-screen-transition.js.map +1 -1
- package/lib/typescript/blank-stack/components/screens.d.ts.map +1 -1
- package/lib/typescript/blank-stack/components/stack-view.d.ts.map +1 -1
- package/lib/typescript/blank-stack/types.d.ts +1 -39
- package/lib/typescript/blank-stack/types.d.ts.map +1 -1
- package/lib/typescript/native-stack/views/NativeStackView.native.d.ts.map +1 -1
- package/lib/typescript/shared/components/controllers/blank-stack-lifecycle.d.ts +8 -0
- package/lib/typescript/shared/components/controllers/blank-stack-lifecycle.d.ts.map +1 -0
- package/lib/typescript/shared/components/controllers/native-stack-lifecycle.d.ts +8 -0
- package/lib/typescript/shared/components/controllers/native-stack-lifecycle.d.ts.map +1 -0
- 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 +2 -2
- package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts.map +1 -1
- package/lib/typescript/shared/providers/gestures.provider.d.ts +8 -2
- package/lib/typescript/shared/providers/gestures.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/register-bounds.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/routes.provider.d.ts +19 -0
- package/lib/typescript/shared/providers/routes.provider.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen-transition.provider.d.ts +2 -2
- package/lib/typescript/shared/providers/screen-transition.provider.d.ts.map +1 -1
- package/lib/typescript/shared/types/animation.types.d.ts +12 -0
- package/lib/typescript/shared/types/animation.types.d.ts.map +1 -1
- package/lib/typescript/shared/types/state.types.d.ts +3 -0
- package/lib/typescript/shared/types/state.types.d.ts.map +1 -0
- package/lib/typescript/shared/utils/animation/compute-stack-progress.d.ts +3 -0
- package/lib/typescript/shared/utils/animation/compute-stack-progress.d.ts.map +1 -0
- package/lib/typescript/shared/utils/animation/start-screen-transition.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/blank-stack/components/screens.tsx +21 -15
- package/src/blank-stack/components/stack-view.tsx +55 -44
- package/src/blank-stack/types.ts +1 -24
- package/src/native-stack/views/NativeStackView.native.tsx +121 -112
- package/src/shared/__tests__/bounds.store.test.ts +14 -36
- package/src/shared/components/controllers/blank-stack-lifecycle.tsx +70 -0
- package/src/shared/components/controllers/native-stack-lifecycle.tsx +87 -0
- package/src/shared/hooks/animation/use-screen-animation.tsx +11 -6
- package/src/shared/hooks/gestures/use-build-gestures.tsx +12 -6
- package/src/shared/hooks/gestures/use-scroll-registry.tsx +7 -7
- package/src/shared/providers/gestures.provider.tsx +34 -5
- package/src/shared/providers/register-bounds.provider.tsx +4 -3
- package/src/shared/providers/routes.provider.tsx +54 -0
- package/src/shared/providers/screen-transition.provider.tsx +2 -2
- package/src/shared/types/animation.types.ts +13 -0
- package/src/shared/types/state.types.ts +2 -0
- package/src/shared/utils/animation/compute-stack-progress.ts +16 -0
- package/src/shared/utils/animation/derivations.ts +1 -1
- package/src/shared/utils/animation/start-screen-transition.ts +13 -10
- package/lib/commonjs/shared/components/controllers/screen-lifecycle.js +0 -142
- package/lib/commonjs/shared/components/controllers/screen-lifecycle.js.map +0 -1
- package/lib/commonjs/shared/hooks/gestures/use-parent-gesture-registry.js +0 -28
- package/lib/commonjs/shared/hooks/gestures/use-parent-gesture-registry.js.map +0 -1
- package/lib/module/shared/components/controllers/screen-lifecycle.js +0 -136
- package/lib/module/shared/components/controllers/screen-lifecycle.js.map +0 -1
- package/lib/module/shared/hooks/gestures/use-parent-gesture-registry.js +0 -23
- package/lib/module/shared/hooks/gestures/use-parent-gesture-registry.js.map +0 -1
- package/lib/typescript/shared/components/controllers/screen-lifecycle.d.ts +0 -12
- package/lib/typescript/shared/components/controllers/screen-lifecycle.d.ts.map +0 -1
- package/lib/typescript/shared/hooks/gestures/use-parent-gesture-registry.d.ts +0 -6
- package/lib/typescript/shared/hooks/gestures/use-parent-gesture-registry.d.ts.map +0 -1
- package/src/shared/components/controllers/screen-lifecycle.tsx +0 -154
- package/src/shared/hooks/gestures/use-parent-gesture-registry.tsx +0 -18
|
@@ -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","
|
|
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":"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","ignoreList":[]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useMemo } from "react";
|
|
4
|
+
import { AnimationStore } from "../stores/animation.store";
|
|
5
|
+
import createProvider from "../utils/create-provider";
|
|
6
|
+
const {
|
|
7
|
+
RoutesProvider,
|
|
8
|
+
useRoutesContext
|
|
9
|
+
} = createProvider("Routes", {
|
|
10
|
+
guarded: false
|
|
11
|
+
})(({
|
|
12
|
+
routeKeys
|
|
13
|
+
}) => ({
|
|
14
|
+
value: {
|
|
15
|
+
routeKeys
|
|
16
|
+
}
|
|
17
|
+
}));
|
|
18
|
+
export { RoutesProvider, useRoutesContext };
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Hook to get animation values for all screens from a given index onwards.
|
|
22
|
+
* Useful for computing accumulated progress across multiple screens.
|
|
23
|
+
*/
|
|
24
|
+
export function useStackAnimationValues(currentRouteKey) {
|
|
25
|
+
const routesContext = useRoutesContext();
|
|
26
|
+
return useMemo(() => {
|
|
27
|
+
if (!currentRouteKey || !routesContext) {
|
|
28
|
+
return [];
|
|
29
|
+
}
|
|
30
|
+
const {
|
|
31
|
+
routeKeys
|
|
32
|
+
} = routesContext;
|
|
33
|
+
const currentIndex = routeKeys.indexOf(currentRouteKey);
|
|
34
|
+
if (currentIndex === -1) {
|
|
35
|
+
return [];
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Get animation values for all screens from current index onwards
|
|
39
|
+
return routeKeys.slice(currentIndex).map(key => AnimationStore.getAll(key));
|
|
40
|
+
}, [currentRouteKey, routesContext]);
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=routes.provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useMemo","AnimationStore","createProvider","RoutesProvider","useRoutesContext","guarded","routeKeys","value","useStackAnimationValues","currentRouteKey","routesContext","currentIndex","indexOf","slice","map","key","getAll"],"sourceRoot":"../../../../src","sources":["shared/providers/routes.provider.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SACCC,cAAc,QAER,2BAA2B;AAClC,OAAOC,cAAc,MAAM,0BAA0B;AAcrD,MAAM;EAAEC,cAAc;EAAEC;AAAiB,CAAC,GAAGF,cAAc,CAAC,QAAQ,EAAE;EACrEG,OAAO,EAAE;AACV,CAAC,CAAC,CAA0C,CAAC;EAAEC;AAAU,CAAC,MAAM;EAC/DC,KAAK,EAAE;IAAED;EAAU;AACpB,CAAC,CAAC,CAAC;AAEH,SAASH,cAAc,EAAEC,gBAAgB;;AAEzC;AACA;AACA;AACA;AACA,OAAO,SAASI,uBAAuBA,CACtCC,eAAmC,EACb;EACtB,MAAMC,aAAa,GAAGN,gBAAgB,CAAC,CAAC;EAExC,OAAOJ,OAAO,CAAC,MAAM;IACpB,IAAI,CAACS,eAAe,IAAI,CAACC,aAAa,EAAE;MACvC,OAAO,EAAE;IACV;IAEA,MAAM;MAAEJ;IAAU,CAAC,GAAGI,aAAa;IACnC,MAAMC,YAAY,GAAGL,SAAS,CAACM,OAAO,CAACH,eAAe,CAAC;IAEvD,IAAIE,YAAY,KAAK,CAAC,CAAC,EAAE;MACxB,OAAO,EAAE;IACV;;IAEA;IACA,OAAOL,SAAS,CACdO,KAAK,CAACF,YAAY,CAAC,CACnBG,GAAG,CAAEC,GAAG,IAAKd,cAAc,CAACe,MAAM,CAACD,GAAG,CAAC,CAAC;EAC3C,CAAC,EAAE,CAACN,eAAe,EAAEC,aAAa,CAAC,CAAC;AACrC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RootTransitionAware","ScreenGestureProvider","KeysProvider","TransitionStylesProvider","jsx","_jsx","ScreenTransitionProvider","previous","current","next","children","LifecycleController"],"sourceRoot":"../../../../src","sources":["shared/providers/screen-transition.provider.tsx"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["RootTransitionAware","ScreenGestureProvider","KeysProvider","TransitionStylesProvider","jsx","_jsx","ScreenTransitionProvider","previous","current","next","children","LifecycleController"],"sourceRoot":"../../../../src","sources":["shared/providers/screen-transition.provider.tsx"],"mappings":";;AAEA,SAASA,mBAAmB,QAAQ,qCAAqC;AAEzE,SAASC,qBAAqB,QAAQ,qBAAqB;AAC3D,SAASC,YAAY,QAAmC,iBAAiB;AACzE,SAASC,wBAAwB,QAAQ,8BAA8B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAUxE,OAAO,SAASC,wBAAwBA,CAEtC;EACDC,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,wBAAwB;UAAAO,QAAA,eACxBL,IAAA,CAACL,mBAAmB;YAAAU,QAAA,EAAEA;UAAQ,CAAsB;QAAC,CAC5B;MAAC,CACP;IAAC,CACA;EAAC,CACX,CAAC;AAEjB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TRUE","FALSE"],"sourceRoot":"../../../../src","sources":["shared/types/state.types.ts"],"mappings":";;AAAA,OAAO,MAAMA,IAAI,GAAG,CAAC;AACrB,OAAO,MAAMC,KAAK,GAAG,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export const computeStackProgress = (stackAnimationValues, fallback = 0) => {
|
|
4
|
+
"worklet";
|
|
5
|
+
|
|
6
|
+
let computedStackProgress;
|
|
7
|
+
if (stackAnimationValues.length > 0) {
|
|
8
|
+
computedStackProgress = 0;
|
|
9
|
+
for (let i = 0; i < stackAnimationValues.length; i += 1) {
|
|
10
|
+
computedStackProgress += stackAnimationValues[i].progress.value;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
return computedStackProgress ?? fallback;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=compute-stack-progress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["computeStackProgress","stackAnimationValues","fallback","computedStackProgress","length","i","progress","value"],"sourceRoot":"../../../../../src","sources":["shared/utils/animation/compute-stack-progress.ts"],"mappings":";;AAEA,OAAO,MAAMA,oBAAoB,GAAGA,CACnCC,oBAAyC,EACzCC,QAAgB,GAAG,CAAC,KAChB;EACJ,SAAS;;EACT,IAAIC,qBAAyC;EAC7C,IAAIF,oBAAoB,CAACG,MAAM,GAAG,CAAC,EAAE;IACpCD,qBAAqB,GAAG,CAAC;IACzB,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGJ,oBAAoB,CAACG,MAAM,EAAEC,CAAC,IAAI,CAAC,EAAE;MACxDF,qBAAqB,IAAIF,oBAAoB,CAACI,CAAC,CAAC,CAACC,QAAQ,CAACC,KAAK;IAChE;EACD;EACA,OAAOJ,qBAAqB,IAAID,QAAQ;AACzC,CAAC","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { runOnJS } from "react-native-reanimated";
|
|
4
|
+
import { FALSE, TRUE } from "../../types/state.types";
|
|
4
5
|
import { animate } from "./animate";
|
|
5
6
|
export const startScreenTransition = ({
|
|
6
7
|
target,
|
|
@@ -24,26 +25,25 @@ export const startScreenTransition = ({
|
|
|
24
25
|
closing
|
|
25
26
|
} = animations;
|
|
26
27
|
if (target === "close") {
|
|
27
|
-
closing.
|
|
28
|
+
closing.set(TRUE);
|
|
28
29
|
}
|
|
29
30
|
if (!config) {
|
|
30
|
-
animating.
|
|
31
|
-
progress.value
|
|
31
|
+
animating.set(FALSE);
|
|
32
|
+
progress.set(value);
|
|
32
33
|
if (onAnimationFinish) {
|
|
33
34
|
runOnJS(onAnimationFinish)(true);
|
|
34
35
|
}
|
|
35
36
|
return;
|
|
36
37
|
}
|
|
37
|
-
animating.
|
|
38
|
-
progress.
|
|
38
|
+
animating.set(TRUE); //<-- Do not move this into the callback
|
|
39
|
+
progress.set(animate(value, effectiveConfig, finished => {
|
|
39
40
|
"worklet";
|
|
40
41
|
|
|
41
|
-
if (finished)
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
animating.value = 0;
|
|
42
|
+
if (!finished) return;
|
|
43
|
+
if (onAnimationFinish) {
|
|
44
|
+
runOnJS(onAnimationFinish)(finished);
|
|
46
45
|
}
|
|
47
|
-
|
|
46
|
+
animating.set(FALSE);
|
|
47
|
+
}));
|
|
48
48
|
};
|
|
49
49
|
//# sourceMappingURL=start-screen-transition.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["runOnJS","animate","startScreenTransition","target","spec","onAnimationFinish","animations","initialVelocity","value","config","open","close","isSpringConfig","effectiveConfig","velocity","progress","animating","closing","finished"],"sourceRoot":"../../../../../src","sources":["shared/utils/animation/start-screen-transition.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,yBAAyB;AAGjD,SAASC,OAAO,QAAQ,WAAW;AAWnC,OAAO,MAAMC,qBAAqB,GAAGA,CAAC;EACrCC,MAAM;EACNC,IAAI;EACJC,iBAAiB;EACjBC,UAAU;EACVC;AAC2B,CAAC,KAAK;EACjC,SAAS;;EACT,MAAMC,KAAK,GAAGL,MAAM,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC;EACvC,MAAMM,MAAM,GAAGN,MAAM,KAAK,MAAM,GAAGC,IAAI,EAAEM,IAAI,GAAGN,IAAI,EAAEO,KAAK;EAE3D,MAAMC,cAAc,GACnB,CAAC,CAACH,MAAM,IAAI,EAAE,UAAU,IAAIA,MAAM,CAAC,IAAI,EAAE,QAAQ,IAAIA,MAAM,CAAC;EAE7D,MAAMI,eAAe,GACpBD,cAAc,IAAI,OAAOL,eAAe,KAAK,QAAQ,GAClD;IAAE,GAAGE,MAAM;IAAEK,QAAQ,EAAEP;EAAgB,CAAC,GACxCE,MAAM;EAEV,MAAM;IAAEM,QAAQ;IAAEC,SAAS;IAAEC;EAAQ,CAAC,GAAGX,UAAU;EAEnD,IAAIH,MAAM,KAAK,OAAO,EAAE;IACvBc,OAAO,
|
|
1
|
+
{"version":3,"names":["runOnJS","FALSE","TRUE","animate","startScreenTransition","target","spec","onAnimationFinish","animations","initialVelocity","value","config","open","close","isSpringConfig","effectiveConfig","velocity","progress","animating","closing","set","finished"],"sourceRoot":"../../../../../src","sources":["shared/utils/animation/start-screen-transition.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,yBAAyB;AAGjD,SAASC,KAAK,EAAEC,IAAI,QAAQ,yBAAyB;AACrD,SAASC,OAAO,QAAQ,WAAW;AAWnC,OAAO,MAAMC,qBAAqB,GAAGA,CAAC;EACrCC,MAAM;EACNC,IAAI;EACJC,iBAAiB;EACjBC,UAAU;EACVC;AAC2B,CAAC,KAAK;EACjC,SAAS;;EACT,MAAMC,KAAK,GAAGL,MAAM,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC;EACvC,MAAMM,MAAM,GAAGN,MAAM,KAAK,MAAM,GAAGC,IAAI,EAAEM,IAAI,GAAGN,IAAI,EAAEO,KAAK;EAE3D,MAAMC,cAAc,GACnB,CAAC,CAACH,MAAM,IAAI,EAAE,UAAU,IAAIA,MAAM,CAAC,IAAI,EAAE,QAAQ,IAAIA,MAAM,CAAC;EAE7D,MAAMI,eAAe,GACpBD,cAAc,IAAI,OAAOL,eAAe,KAAK,QAAQ,GAClD;IAAE,GAAGE,MAAM;IAAEK,QAAQ,EAAEP;EAAgB,CAAC,GACxCE,MAAM;EAEV,MAAM;IAAEM,QAAQ;IAAEC,SAAS;IAAEC;EAAQ,CAAC,GAAGX,UAAU;EAEnD,IAAIH,MAAM,KAAK,OAAO,EAAE;IACvBc,OAAO,CAACC,GAAG,CAAClB,IAAI,CAAC;EAClB;EAEA,IAAI,CAACS,MAAM,EAAE;IACZO,SAAS,CAACE,GAAG,CAACnB,KAAK,CAAC;IACpBgB,QAAQ,CAACG,GAAG,CAACV,KAAK,CAAC;IAEnB,IAAIH,iBAAiB,EAAE;MACtBP,OAAO,CAACO,iBAAiB,CAAC,CAAC,IAAI,CAAC;IACjC;IACA;EACD;EAEAW,SAAS,CAACE,GAAG,CAAClB,IAAI,CAAC,CAAC,CAAC;EACrBe,QAAQ,CAACG,GAAG,CACXjB,OAAO,CAACO,KAAK,EAAEK,eAAe,EAAGM,QAAQ,IAAK;IAC7C,SAAS;;IACT,IAAI,CAACA,QAAQ,EAAE;IAEf,IAAId,iBAAiB,EAAE;MACtBP,OAAO,CAACO,iBAAiB,CAAC,CAACc,QAAQ,CAAC;IACrC;IAEAH,SAAS,CAACE,GAAG,CAACnB,KAAK,CAAC;EACrB,CAAC,CACF,CAAC;AACF,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screens.d.ts","sourceRoot":"","sources":["../../../../src/blank-stack/components/screens.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAWpC,UAAU,WAAW;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;CAC3B;
|
|
1
|
+
{"version":3,"file":"screens.d.ts","sourceRoot":"","sources":["../../../../src/blank-stack/components/screens.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAWpC,UAAU,WAAW;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;CAC3B;AAWD,eAAO,MAAM,MAAM,GAAI,2GASpB,WAAW,4CA2Db,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stack-view.d.ts","sourceRoot":"","sources":["../../../../src/blank-stack/components/stack-view.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"stack-view.d.ts","sourceRoot":"","sources":["../../../../src/blank-stack/components/stack-view.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAkC/B,eAAO,MAAM,SAAS,sFAuErB,CAAC"}
|
|
@@ -2,44 +2,7 @@ import type { DefaultNavigatorOptions, Descriptor, NavigationHelpers, Navigation
|
|
|
2
2
|
import type { DerivedValue } from "react-native-reanimated";
|
|
3
3
|
import type { ScreenTransitionConfig } from "../shared";
|
|
4
4
|
import type { OverlayInterpolationProps, ScreenInterpolationProps } from "../shared/types/animation.types";
|
|
5
|
-
export type BlankStackNavigationEventMap = {
|
|
6
|
-
/**
|
|
7
|
-
* Event which fires when a transition animation starts.
|
|
8
|
-
*/
|
|
9
|
-
transitionStart: {
|
|
10
|
-
data: {
|
|
11
|
-
closing: boolean;
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* Event which fires when a transition animation ends.
|
|
16
|
-
*/
|
|
17
|
-
transitionEnd: {
|
|
18
|
-
data: {
|
|
19
|
-
closing: boolean;
|
|
20
|
-
};
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* Event which fires when a swipe back is canceled on iOS.
|
|
24
|
-
*/
|
|
25
|
-
gestureCancel: {
|
|
26
|
-
data: undefined;
|
|
27
|
-
};
|
|
28
|
-
/**
|
|
29
|
-
* Event which fires when screen is in sheet presentation & it's detent changes.
|
|
30
|
-
*
|
|
31
|
-
* In payload it caries two fields:
|
|
32
|
-
*
|
|
33
|
-
* * `index` - current detent index in the `sheetAllowedDetents` array,
|
|
34
|
-
* * `stable` - on Android `false` value means that the user is dragging the sheet or it is settling; on iOS it is always `true`.
|
|
35
|
-
*/
|
|
36
|
-
sheetDetentChange: {
|
|
37
|
-
data: {
|
|
38
|
-
index: number;
|
|
39
|
-
stable: boolean;
|
|
40
|
-
};
|
|
41
|
-
};
|
|
42
|
-
};
|
|
5
|
+
export type BlankStackNavigationEventMap = {};
|
|
43
6
|
export type BlankStackNavigationProp<ParamList extends ParamListBase, RouteName extends keyof ParamList = string, NavigatorID extends string | undefined = undefined> = NavigationProp<ParamList, RouteName, NavigatorID, StackNavigationState<ParamList>, BlankStackNavigationOptions, BlankStackNavigationEventMap> & StackActionHelpers<ParamList>;
|
|
44
7
|
export type BlankStackScreenProps<ParamList extends ParamListBase, RouteName extends keyof ParamList = string, NavigatorID extends string | undefined = undefined> = {
|
|
45
8
|
navigation: BlankStackNavigationProp<ParamList, RouteName, NavigatorID>;
|
|
@@ -93,7 +56,6 @@ export type BlankStackScreenTransitionConfig = ScreenTransitionConfig & {
|
|
|
93
56
|
* Whether to detach the previous screen from the view hierarchy to save memory.
|
|
94
57
|
* Set it to `false` if you need the previous screen to be seen through the active screen.
|
|
95
58
|
* Only applicable if `detachInactiveScreens` isn't set to `false`.
|
|
96
|
-
* Defaults to `false` for the last screen for modals, otherwise `true`.
|
|
97
59
|
*/
|
|
98
60
|
detachPreviousScreen?: boolean;
|
|
99
61
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/blank-stack/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,uBAAuB,EACvB,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,KAAK,EACL,SAAS,EACT,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,KAAK,EACL,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EACX,yBAAyB,EACzB,wBAAwB,EACxB,MAAM,iCAAiC,CAAC;AAEzC,MAAM,MAAM,4BAA4B,GAAG
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/blank-stack/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeStackView.native.d.ts","sourceRoot":"","sources":["../../../../src/native-stack/views/NativeStackView.native.tsx"],"names":[],"mappings":"AASA,OAAO,EAGN,KAAK,aAAa,EAClB,KAAK,SAAS,EAEd,KAAK,oBAAoB,EAGzB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"NativeStackView.native.d.ts","sourceRoot":"","sources":["../../../../src/native-stack/views/NativeStackView.native.tsx"],"names":[],"mappings":"AASA,OAAO,EAGN,KAAK,aAAa,EAClB,KAAK,SAAS,EAEd,KAAK,oBAAoB,EAGzB,MAAM,0BAA0B,CAAC;AAoBlC,OAAO,KAAK,EACX,qBAAqB,EACrB,wBAAwB,EACxB,4BAA4B,EAC5B,MAAM,UAAU,CAAC;AA8blB,KAAK,KAAK,GAAG;IACZ,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,4BAA4B,CAAC;IACzC,WAAW,EAAE,wBAAwB,CAAC;IACtC,QAAQ,EAAE,CACT,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,EAC/B,WAAW,EAAE,OAAO,KAChB,qBAAqB,CAAC;CAC3B,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC/B,KAAK,EACL,UAAU,EACV,WAAW,EACX,QAAQ,GACR,EAAE,KAAK,2CAwIP"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface Props {
|
|
2
|
+
children: React.ReactNode;
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Lifecycle controller built out for Blank Stack implementation.
|
|
6
|
+
*/
|
|
7
|
+
export declare const BlankStackScreenLifecycleController: ({ children }: Props) => import("react").ReactNode;
|
|
8
|
+
//# sourceMappingURL=blank-stack-lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blank-stack-lifecycle.d.ts","sourceRoot":"","sources":["../../../../../src/shared/components/controllers/blank-stack-lifecycle.tsx"],"names":[],"mappings":"AAUA,MAAM,WAAW,KAAK;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED;;GAEG;AACH,eAAO,MAAM,mCAAmC,GAAI,cAAc,KAAK,8BAoDtE,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface Props {
|
|
2
|
+
children: React.ReactNode;
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Lifecycle controller built out for Native Stack implementation.
|
|
6
|
+
*/
|
|
7
|
+
export declare const NativeStackScreenLifecycleController: ({ children }: Props) => import("react").ReactNode;
|
|
8
|
+
//# sourceMappingURL=native-stack-lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-stack-lifecycle.d.ts","sourceRoot":"","sources":["../../../../../src/shared/components/controllers/native-stack-lifecycle.tsx"],"names":[],"mappings":"AAYA,MAAM,WAAW,KAAK;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED;;GAEG;AACH,eAAO,MAAM,oCAAoC,GAAI,cAAc,KAAK,8BAmEvE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-screen-animation.d.ts","sourceRoot":"","sources":["../../../../../src/shared/hooks/animation/use-screen-animation.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-screen-animation.d.ts","sourceRoot":"","sources":["../../../../../src/shared/hooks/animation/use-screen-animation.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACX,wBAAwB,EAExB,MAAM,6BAA6B,CAAC;AA8ErC,wBAAgB,mBAAmB;;;EA8DlC;AAED,wBAAgB,kBAAkB,6EAUjC"}
|
|
@@ -4,9 +4,9 @@ import type { GestureContextType, ScrollConfig } from "../../providers/gestures.
|
|
|
4
4
|
import { type GestureStoreMap } from "../../stores/gesture.store";
|
|
5
5
|
interface BuildGesturesHookProps {
|
|
6
6
|
scrollConfig: SharedValue<ScrollConfig | null>;
|
|
7
|
-
|
|
7
|
+
ancestorContext?: GestureContextType | null;
|
|
8
8
|
}
|
|
9
|
-
export declare const useBuildGestures: ({ scrollConfig,
|
|
9
|
+
export declare const useBuildGestures: ({ scrollConfig, ancestorContext, }: BuildGesturesHookProps) => {
|
|
10
10
|
panGesture: GestureType;
|
|
11
11
|
nativeGesture: GestureType;
|
|
12
12
|
gestureAnimationValues: GestureStoreMap;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-build-gestures.d.ts","sourceRoot":"","sources":["../../../../../src/shared/hooks/gestures/use-build-gestures.tsx"],"names":[],"mappings":"AAGA,OAAO,EAIN,KAAK,WAAW,EAGhB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,yBAAyB,CAAC;AAQ3E,OAAO,KAAK,EACX,kBAAkB,EAClB,YAAY,EACZ,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAchF,UAAU,sBAAsB;IAC/B,YAAY,EAAE,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC/C,
|
|
1
|
+
{"version":3,"file":"use-build-gestures.d.ts","sourceRoot":"","sources":["../../../../../src/shared/hooks/gestures/use-build-gestures.tsx"],"names":[],"mappings":"AAGA,OAAO,EAIN,KAAK,WAAW,EAGhB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,yBAAyB,CAAC;AAQ3E,OAAO,KAAK,EACX,kBAAkB,EAClB,YAAY,EACZ,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAchF,UAAU,sBAAsB;IAC/B,YAAY,EAAE,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC/C,eAAe,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,gBAAgB,GAAI,oCAG9B,sBAAsB,KAAG;IAC3B,UAAU,EAAE,WAAW,CAAC;IACxB,aAAa,EAAE,WAAW,CAAC;IAC3B,sBAAsB,EAAE,eAAe,CAAC;CAqTxC,CAAC"}
|
|
@@ -14,12 +14,18 @@ export interface GestureContextType {
|
|
|
14
14
|
nativeGesture: GestureType;
|
|
15
15
|
scrollConfig: SharedValue<ScrollConfig | null>;
|
|
16
16
|
gestureAnimationValues: GestureStoreMap;
|
|
17
|
-
|
|
17
|
+
ancestorContext: GestureContextType | undefined;
|
|
18
18
|
}
|
|
19
19
|
type GestureProviderProps = {
|
|
20
20
|
children: React.ReactNode;
|
|
21
21
|
};
|
|
22
|
-
|
|
22
|
+
/**
|
|
23
|
+
* Provider that creates gesture handling for a screen.
|
|
24
|
+
* If the current screen doesn't have gestures enabled but a parent does,
|
|
25
|
+
* we pass through the parent's context so scrollable children can coordinate
|
|
26
|
+
* with the ancestor's gestures.
|
|
27
|
+
*/
|
|
28
|
+
export declare const ScreenGestureProvider: ({ children }: GestureProviderProps) => string | number | bigint | boolean | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
|
|
23
29
|
export declare const useGestureContext: () => GestureContextType;
|
|
24
30
|
export {};
|
|
25
31
|
//# sourceMappingURL=gestures.provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gestures.provider.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/gestures.provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"gestures.provider.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/gestures.provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG/D,MAAM,MAAM,YAAY,GAAG;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,kBAAkB;IAClC,UAAU,EAAE,WAAW,CAAC;IACxB,aAAa,EAAE,WAAW,CAAC;IAC3B,YAAY,EAAE,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC/C,sBAAsB,EAAE,eAAe,CAAC;IACxC,eAAe,EAAE,kBAAkB,GAAG,SAAS,CAAC;CAChD;AAED,KAAK,oBAAoB,GAAG;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B,CAAC;AAIF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,cAAc,oBAAoB,4WAiBvE,CAAC;AA0CF,eAAO,MAAM,iBAAiB,0BAU7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-bounds.provider.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/register-bounds.provider.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAgC,MAAM,OAAO,CAAC;AACrE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EACN,KAAK,WAAW,EAIhB,KAAK,UAAU,EAGf,MAAM,yBAAyB,CAAC;AAgBjC,UAAU,yBAAyB;IAClC,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,oBAAoB,EAAE,MAAM,IAAI,CAAC;CACjC;AAED,UAAU,2BAA2B;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/B,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACrD,QAAQ,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,SAAS,CAAC;CAC1D;
|
|
1
|
+
{"version":3,"file":"register-bounds.provider.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/register-bounds.provider.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAgC,MAAM,OAAO,CAAC;AACrE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EACN,KAAK,WAAW,EAIhB,KAAK,UAAU,EAGf,MAAM,yBAAyB,CAAC;AAgBjC,UAAU,yBAAyB;IAClC,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,oBAAoB,EAAE,MAAM,IAAI,CAAC;CACjC;AAED,UAAU,2BAA2B;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/B,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACrD,QAAQ,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,SAAS,CAAC;CAC1D;AA6JD,QAAA,MAAQ,sBAAsB,iDA4H7B,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type AnimationStoreMap } from "../stores/animation.store";
|
|
2
|
+
interface RoutesProviderProps {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
routeKeys: string[];
|
|
5
|
+
}
|
|
6
|
+
interface RoutesContextValue {
|
|
7
|
+
/**
|
|
8
|
+
* Array of route keys for all routes in the stack, in order.
|
|
9
|
+
*/
|
|
10
|
+
routeKeys: string[];
|
|
11
|
+
}
|
|
12
|
+
declare const RoutesProvider: import("react").FC<RoutesProviderProps>, useRoutesContext: () => RoutesContextValue | null;
|
|
13
|
+
export { RoutesProvider, useRoutesContext };
|
|
14
|
+
/**
|
|
15
|
+
* Hook to get animation values for all screens from a given index onwards.
|
|
16
|
+
* Useful for computing accumulated progress across multiple screens.
|
|
17
|
+
*/
|
|
18
|
+
export declare function useStackAnimationValues(currentRouteKey: string | undefined): AnimationStoreMap[];
|
|
19
|
+
//# sourceMappingURL=routes.provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes.provider.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/routes.provider.tsx"],"names":[],"mappings":"AACA,OAAO,EAEN,KAAK,iBAAiB,EACtB,MAAM,2BAA2B,CAAC;AAGnC,UAAU,mBAAmB;IAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,UAAU,kBAAkB;IAC3B;;OAEG;IACH,SAAS,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,QAAA,MAAQ,cAAc,2CAAE,gBAAgB,iCAIrC,CAAC;AAEJ,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAC;AAE5C;;;GAGG;AACH,wBAAgB,uBAAuB,CACtC,eAAe,EAAE,MAAM,GAAG,SAAS,GACjC,iBAAiB,EAAE,CAoBrB"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type React from "react";
|
|
2
2
|
import type { ComponentType } from "react";
|
|
3
|
-
import type {
|
|
3
|
+
import type { Any } from "../types/utils.types";
|
|
4
4
|
import { type TransitionDescriptor } from "./keys.provider";
|
|
5
5
|
type Props<TDescriptor extends TransitionDescriptor> = {
|
|
6
6
|
previous?: TDescriptor;
|
|
7
7
|
current: TDescriptor;
|
|
8
8
|
next?: TDescriptor;
|
|
9
9
|
children: React.ReactNode;
|
|
10
|
-
LifecycleController: ComponentType<
|
|
10
|
+
LifecycleController: ComponentType<Any>;
|
|
11
11
|
};
|
|
12
12
|
export declare function ScreenTransitionProvider<TDescriptor extends TransitionDescriptor>({ previous, current, next, children, LifecycleController, }: Props<TDescriptor>): import("react/jsx-runtime").JSX.Element;
|
|
13
13
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen-transition.provider.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/screen-transition.provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"screen-transition.provider.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/screen-transition.provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAgB,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAG1E,KAAK,KAAK,CAAC,WAAW,SAAS,oBAAoB,IAAI;IACtD,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,mBAAmB,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;CACxC,CAAC;AAEF,wBAAgB,wBAAwB,CACvC,WAAW,SAAS,oBAAoB,EACvC,EACD,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,mBAAmB,GACnB,EAAE,KAAK,CAAC,WAAW,CAAC,2CAgBpB"}
|
|
@@ -60,6 +60,18 @@ export interface ScreenInterpolationProps {
|
|
|
60
60
|
* Combined progress of current and next screen transitions, ranging from 0-2.
|
|
61
61
|
*/
|
|
62
62
|
progress: number;
|
|
63
|
+
/**
|
|
64
|
+
* Accumulated progress from the current screen's position onwards in the stack.
|
|
65
|
+
* Unlike `progress` (0-2), this ranges from 0-N where N is the number of screens
|
|
66
|
+
* above the current screen. Each screen at index I sees stackProgress as the
|
|
67
|
+
* sum of all progress values from index I to the top of the stack.
|
|
68
|
+
*
|
|
69
|
+
* Example: With 4 screens pushed, screen at index 1 would see stackProgress = 3
|
|
70
|
+
* when all screens are fully transitioned.
|
|
71
|
+
*
|
|
72
|
+
* Falls back to `progress` when not in blank-stack.
|
|
73
|
+
*/
|
|
74
|
+
stackProgress: number;
|
|
63
75
|
/**
|
|
64
76
|
* Function that provides access to bounds builders for creating shared element transitions.
|
|
65
77
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animation.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/animation.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,EACX,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,WAAW,yBAAyB;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE;QACR;;WAEG;QACH,MAAM,EAAE,MAAM,CAAC;KACf,CAAC;IACF,MAAM,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,MAAM,qBAAqB,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,aAAa,CAAC;IACvB,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACxC;;OAEG;IACH,QAAQ,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAE5C;;OAEG;IACH,OAAO,EAAE,qBAAqB,CAAC;IAE/B;;OAEG;IACH,IAAI,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAExC;;OAEG;IACH,OAAO,EAAE;QACR;;WAEG;QACH,MAAM,EAAE,MAAM,CAAC;KACf,CAAC;IAEF;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC;IAEnB;;;OAGG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC;IAEtB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,cAAc,CAAC;IAEvB;;OAEG;IACH,MAAM,EAAE,qBAAqB,CAAC;IAE9B;;OAEG;IACH,qBAAqB,EAAE,OAAO,CAAC;IAE/B;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,uBAAuB,GAAG,CACrC,KAAK,EAAE,wBAAwB,KAC3B,2BAA2B,CAAC;AAEjC,MAAM,MAAM,2BAA2B,GAAG;IACzC;;OAEG;IACH,YAAY,CAAC,EAAE,UAAU,CAAC;IAE1B;;OAEG;IACH,YAAY,CAAC,EAAE,UAAU,CAAC;IAE1B;;OAEG;IACH,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,KAAK,CAAC,EAAE,eAAe,CAAC;CACxB"}
|
|
1
|
+
{"version":3,"file":"animation.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/animation.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,EACX,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,WAAW,yBAAyB;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE;QACR;;WAEG;QACH,MAAM,EAAE,MAAM,CAAC;KACf,CAAC;IACF,MAAM,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,MAAM,qBAAqB,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,aAAa,CAAC;IACvB,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACxC;;OAEG;IACH,QAAQ,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAE5C;;OAEG;IACH,OAAO,EAAE,qBAAqB,CAAC;IAE/B;;OAEG;IACH,IAAI,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAExC;;OAEG;IACH,OAAO,EAAE;QACR;;WAEG;QACH,MAAM,EAAE,MAAM,CAAC;KACf,CAAC;IAEF;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC;IAEnB;;;OAGG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC;IAEtB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;;;;;;OAUG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,MAAM,EAAE,cAAc,CAAC;IAEvB;;OAEG;IACH,MAAM,EAAE,qBAAqB,CAAC;IAE9B;;OAEG;IACH,qBAAqB,EAAE,OAAO,CAAC;IAE/B;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,uBAAuB,GAAG,CACrC,KAAK,EAAE,wBAAwB,KAC3B,2BAA2B,CAAC;AAEjC,MAAM,MAAM,2BAA2B,GAAG;IACzC;;OAEG;IACH,YAAY,CAAC,EAAE,UAAU,CAAC;IAE1B;;OAEG;IACH,YAAY,CAAC,EAAE,UAAU,CAAC;IAE1B;;OAEG;IACH,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,KAAK,CAAC,EAAE,eAAe,CAAC;CACxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/state.types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,IAAI,CAAC;AACtB,eAAO,MAAM,KAAK,IAAI,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compute-stack-progress.d.ts","sourceRoot":"","sources":["../../../../../src/shared/utils/animation/compute-stack-progress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,eAAO,MAAM,oBAAoB,GAChC,sBAAsB,iBAAiB,EAAE,EACzC,WAAU,MAAU,WAWpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-screen-transition.d.ts","sourceRoot":"","sources":["../../../../../src/shared/utils/animation/start-screen-transition.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"start-screen-transition.d.ts","sourceRoot":"","sources":["../../../../../src/shared/utils/animation/start-screen-transition.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAIlE,UAAU,0BAA0B;IACnC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,UAAU,EAAE,iBAAiB,CAAC;IAC9B,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,qBAAqB,GAAI,mEAMnC,0BAA0B,SA0C5B,CAAC"}
|
package/package.json
CHANGED
|
@@ -19,13 +19,14 @@ interface ScreenProps {
|
|
|
19
19
|
shouldFreeze?: boolean;
|
|
20
20
|
activeScreensLimit: number;
|
|
21
21
|
}
|
|
22
|
+
enum ScreenActivity {
|
|
23
|
+
INACTIVE = 0,
|
|
24
|
+
TRANSITIONING_OR_BELOW_TOP = 1,
|
|
25
|
+
ON_TOP = 2,
|
|
26
|
+
}
|
|
22
27
|
|
|
23
28
|
const EPSILON = 1e-5;
|
|
24
29
|
|
|
25
|
-
const STATE_INACTIVE = 0;
|
|
26
|
-
const STATE_TRANSITIONING_OR_BELOW_TOP = 1;
|
|
27
|
-
const STATE_ON_TOP = 2;
|
|
28
|
-
|
|
29
30
|
const AnimatedScreen = Animated.createAnimatedComponent(RNSScreen);
|
|
30
31
|
|
|
31
32
|
export const Screen = ({
|
|
@@ -39,23 +40,26 @@ export const Screen = ({
|
|
|
39
40
|
shouldFreeze,
|
|
40
41
|
}: ScreenProps) => {
|
|
41
42
|
const sceneProgress = AnimationStore.getAnimation(routeKey, "progress");
|
|
42
|
-
const
|
|
43
|
+
const sceneClosing = AnimationStore.getAnimation(routeKey, "closing");
|
|
44
|
+
const screenActivity = useSharedValue<ScreenActivity>(
|
|
45
|
+
ScreenActivity.TRANSITIONING_OR_BELOW_TOP,
|
|
46
|
+
);
|
|
43
47
|
|
|
44
48
|
useDerivedValue(() => {
|
|
45
49
|
if (!sceneProgress) {
|
|
46
|
-
screenActivity.set(
|
|
50
|
+
screenActivity.set(ScreenActivity.TRANSITIONING_OR_BELOW_TOP);
|
|
47
51
|
return;
|
|
48
52
|
}
|
|
49
53
|
|
|
50
54
|
if (index < routesLength - activeScreensLimit - 1 || isPreloaded) {
|
|
51
|
-
screenActivity.set(
|
|
55
|
+
screenActivity.set(ScreenActivity.INACTIVE);
|
|
52
56
|
} else {
|
|
53
57
|
const outputValue =
|
|
54
58
|
index === routesLength - 1
|
|
55
|
-
?
|
|
59
|
+
? ScreenActivity.ON_TOP
|
|
56
60
|
: index >= routesLength - activeScreensLimit
|
|
57
|
-
?
|
|
58
|
-
:
|
|
61
|
+
? ScreenActivity.TRANSITIONING_OR_BELOW_TOP
|
|
62
|
+
: ScreenActivity.INACTIVE;
|
|
59
63
|
|
|
60
64
|
const v = interpolate(
|
|
61
65
|
sceneProgress.get(),
|
|
@@ -64,8 +68,7 @@ export const Screen = ({
|
|
|
64
68
|
"clamp",
|
|
65
69
|
);
|
|
66
70
|
|
|
67
|
-
const next =
|
|
68
|
-
(Math.trunc(v) as 0 | 1 | 2) ?? STATE_TRANSITIONING_OR_BELOW_TOP;
|
|
71
|
+
const next = Math.trunc(v) ?? ScreenActivity.TRANSITIONING_OR_BELOW_TOP;
|
|
69
72
|
|
|
70
73
|
if (next !== screenActivity.get()) {
|
|
71
74
|
screenActivity.set(next);
|
|
@@ -74,9 +77,13 @@ export const Screen = ({
|
|
|
74
77
|
});
|
|
75
78
|
|
|
76
79
|
const animatedProps = useAnimatedProps(() => {
|
|
80
|
+
const activity = screenActivity.get();
|
|
77
81
|
return {
|
|
78
|
-
activityState:
|
|
79
|
-
shouldFreeze:
|
|
82
|
+
activityState: activity,
|
|
83
|
+
shouldFreeze: activity === ScreenActivity.INACTIVE && shouldFreeze,
|
|
84
|
+
pointerEvents: sceneClosing.get()
|
|
85
|
+
? ("none" as const)
|
|
86
|
+
: ("box-none" as const),
|
|
80
87
|
};
|
|
81
88
|
});
|
|
82
89
|
|
|
@@ -84,7 +91,6 @@ export const Screen = ({
|
|
|
84
91
|
<AnimatedScreen
|
|
85
92
|
enabled
|
|
86
93
|
style={StyleSheet.absoluteFill}
|
|
87
|
-
pointerEvents="box-none"
|
|
88
94
|
freezeOnBlur={freezeOnBlur}
|
|
89
95
|
animatedProps={animatedProps}
|
|
90
96
|
>
|