react-native-screen-transitions 2.4.2-beta.0 → 2.4.2-beta.2
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/components/controllers/screen-lifecycle.blank.js +59 -0
- package/lib/commonjs/components/controllers/screen-lifecycle.blank.js.map +1 -0
- package/lib/commonjs/hooks/animation/use-screen-animation.js +4 -2
- package/lib/commonjs/hooks/animation/use-screen-animation.js.map +1 -1
- package/lib/commonjs/integrations/blank-stack/components/Header.js +9 -16
- package/lib/commonjs/integrations/blank-stack/components/Header.js.map +1 -1
- package/lib/commonjs/integrations/blank-stack/components/StackView.js +9 -18
- package/lib/commonjs/integrations/blank-stack/components/StackView.js.map +1 -1
- package/lib/commonjs/integrations/blank-stack/navigators/createBlankStackNavigator.js +0 -6
- package/lib/commonjs/integrations/blank-stack/navigators/createBlankStackNavigator.js.map +1 -1
- package/lib/commonjs/integrations/blank-stack/providers/screen-transition-provider.js +12 -0
- package/lib/commonjs/integrations/blank-stack/providers/screen-transition-provider.js.map +1 -0
- package/lib/commonjs/integrations/blank-stack/utils/with-stack-navigation/_utils/{calculateActiveScreensLimit.js → calculate-active-screens-limit.js} +1 -1
- package/lib/commonjs/integrations/blank-stack/utils/with-stack-navigation/_utils/calculate-active-screens-limit.js.map +1 -0
- package/lib/commonjs/integrations/blank-stack/utils/with-stack-navigation/index.js +7 -12
- package/lib/commonjs/integrations/blank-stack/utils/with-stack-navigation/index.js.map +1 -1
- package/lib/commonjs/integrations/native-stack/providers/screen-transition-provider.js +10 -0
- package/lib/commonjs/integrations/native-stack/providers/screen-transition-provider.js.map +1 -0
- package/lib/commonjs/integrations/native-stack/views/NativeStackView.native.js +1 -1
- package/lib/commonjs/providers/create-screen-transition-provider.js +38 -0
- package/lib/commonjs/providers/create-screen-transition-provider.js.map +1 -0
- package/lib/commonjs/providers/keys.js.map +1 -1
- package/lib/commonjs/providers/transition-styles.js +3 -2
- package/lib/commonjs/providers/transition-styles.js.map +1 -1
- package/lib/module/components/controllers/screen-lifecycle.blank.js +53 -0
- package/lib/module/components/controllers/screen-lifecycle.blank.js.map +1 -0
- package/lib/module/hooks/animation/use-screen-animation.js +4 -2
- package/lib/module/hooks/animation/use-screen-animation.js.map +1 -1
- package/lib/module/integrations/blank-stack/components/Header.js +9 -16
- package/lib/module/integrations/blank-stack/components/Header.js.map +1 -1
- package/lib/module/integrations/blank-stack/components/StackView.js +9 -18
- package/lib/module/integrations/blank-stack/components/StackView.js.map +1 -1
- package/lib/module/integrations/blank-stack/navigators/createBlankStackNavigator.js +1 -6
- package/lib/module/integrations/blank-stack/navigators/createBlankStackNavigator.js.map +1 -1
- package/lib/module/integrations/blank-stack/providers/screen-transition-provider.js +8 -0
- package/lib/module/integrations/blank-stack/providers/screen-transition-provider.js.map +1 -0
- package/lib/module/integrations/blank-stack/utils/with-stack-navigation/_utils/{calculateActiveScreensLimit.js → calculate-active-screens-limit.js} +1 -1
- package/lib/module/integrations/blank-stack/utils/with-stack-navigation/_utils/calculate-active-screens-limit.js.map +1 -0
- package/lib/module/integrations/blank-stack/utils/with-stack-navigation/index.js +8 -13
- package/lib/module/integrations/blank-stack/utils/with-stack-navigation/index.js.map +1 -1
- package/lib/module/integrations/native-stack/providers/screen-transition-provider.js +6 -0
- package/lib/module/integrations/native-stack/providers/screen-transition-provider.js.map +1 -0
- package/lib/module/integrations/native-stack/views/NativeStackView.native.js +1 -1
- package/lib/module/integrations/native-stack/views/NativeStackView.native.js.map +1 -1
- package/lib/module/providers/create-screen-transition-provider.js +34 -0
- package/lib/module/providers/create-screen-transition-provider.js.map +1 -0
- package/lib/module/providers/keys.js.map +1 -1
- package/lib/module/providers/transition-styles.js +3 -2
- package/lib/module/providers/transition-styles.js.map +1 -1
- package/lib/typescript/components/controllers/screen-lifecycle.blank.d.ts +7 -0
- package/lib/typescript/components/controllers/screen-lifecycle.blank.d.ts.map +1 -0
- package/lib/typescript/hooks/animation/use-screen-animation.d.ts +1 -1
- package/lib/typescript/hooks/animation/use-screen-animation.d.ts.map +1 -1
- package/lib/typescript/integrations/blank-stack/components/Header.d.ts.map +1 -1
- package/lib/typescript/integrations/blank-stack/components/StackView.d.ts.map +1 -1
- package/lib/typescript/integrations/blank-stack/navigators/createBlankStackNavigator.d.ts +0 -93
- package/lib/typescript/integrations/blank-stack/navigators/createBlankStackNavigator.d.ts.map +1 -1
- package/lib/typescript/integrations/blank-stack/providers/screen-transition-provider.d.ts +8 -0
- package/lib/typescript/integrations/blank-stack/providers/screen-transition-provider.d.ts.map +1 -0
- package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/_types.d.ts +1 -2
- package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/_types.d.ts.map +1 -1
- package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/_utils/{calculateActiveScreensLimit.d.ts → calculate-active-screens-limit.d.ts} +1 -1
- package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/_utils/calculate-active-screens-limit.d.ts.map +1 -0
- package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/index.d.ts.map +1 -1
- package/lib/typescript/integrations/native-stack/providers/screen-transition-provider.d.ts +8 -0
- package/lib/typescript/integrations/native-stack/providers/screen-transition-provider.d.ts.map +1 -0
- package/lib/typescript/providers/create-screen-transition-provider.d.ts +18 -0
- package/lib/typescript/providers/create-screen-transition-provider.d.ts.map +1 -0
- package/lib/typescript/providers/keys.d.ts +14 -12
- package/lib/typescript/providers/keys.d.ts.map +1 -1
- package/lib/typescript/providers/transition-styles.d.ts +2 -1
- package/lib/typescript/providers/transition-styles.d.ts.map +1 -1
- package/lib/typescript/types/blank-stack.navigator.d.ts +0 -5
- package/lib/typescript/types/blank-stack.navigator.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/controllers/screen-lifecycle.blank.ts +62 -0
- package/src/hooks/animation/use-screen-animation.tsx +8 -2
- package/src/integrations/blank-stack/components/Header.tsx +2 -4
- package/src/integrations/blank-stack/components/StackView.tsx +5 -11
- package/src/integrations/blank-stack/navigators/createBlankStackNavigator.tsx +0 -11
- package/src/integrations/blank-stack/providers/screen-transition-provider.tsx +9 -0
- package/src/integrations/blank-stack/utils/with-stack-navigation/_types.ts +1 -2
- package/src/integrations/blank-stack/utils/with-stack-navigation/index.tsx +8 -21
- package/src/integrations/native-stack/providers/screen-transition-provider.tsx +8 -0
- package/src/integrations/native-stack/views/NativeStackView.native.tsx +1 -1
- package/src/providers/create-screen-transition-provider.tsx +55 -0
- package/src/providers/keys.tsx +28 -16
- package/src/providers/transition-styles.tsx +6 -2
- package/src/types/blank-stack.navigator.ts +0 -5
- package/lib/commonjs/integrations/blank-stack/utils/with-stack-navigation/_utils/calculateActiveScreensLimit.js.map +0 -1
- package/lib/commonjs/providers/screen-transition-provider.js +0 -34
- package/lib/commonjs/providers/screen-transition-provider.js.map +0 -1
- package/lib/module/integrations/blank-stack/utils/with-stack-navigation/_utils/calculateActiveScreensLimit.js.map +0 -1
- package/lib/module/providers/screen-transition-provider.js +0 -30
- package/lib/module/providers/screen-transition-provider.js.map +0 -1
- package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/_utils/calculateActiveScreensLimit.d.ts.map +0 -1
- package/lib/typescript/providers/screen-transition-provider.d.ts +0 -11
- package/lib/typescript/providers/screen-transition-provider.d.ts.map +0 -1
- package/src/providers/screen-transition-provider.tsx +0 -33
- /package/src/integrations/blank-stack/utils/with-stack-navigation/_utils/{calculateActiveScreensLimit.ts → calculate-active-screens-limit.ts} +0 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ScreenLifecycleController = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactNativeReanimated = require("react-native-reanimated");
|
|
9
|
+
var _useParentGestureRegistry = require("../../hooks/gestures/use-parent-gesture-registry");
|
|
10
|
+
var _useStableCallback = _interopRequireDefault(require("../../hooks/use-stable-callback"));
|
|
11
|
+
var _keys = require("../../providers/keys");
|
|
12
|
+
var _animations = require("../../stores/animations");
|
|
13
|
+
var _startScreenTransition = require("../../utils/animation/start-screen-transition");
|
|
14
|
+
var _withStackNavigation = require("../../integrations/blank-stack/utils/with-stack-navigation");
|
|
15
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
|
+
const ScreenLifecycleController = ({
|
|
17
|
+
children
|
|
18
|
+
}) => {
|
|
19
|
+
const {
|
|
20
|
+
current
|
|
21
|
+
} = (0, _keys.useKeys)();
|
|
22
|
+
const {
|
|
23
|
+
handleCloseRoute,
|
|
24
|
+
closingRouteKeysShared
|
|
25
|
+
} = (0, _withStackNavigation.useStackNavigationContext)();
|
|
26
|
+
const animations = _animations.Animations.getAll(current.route.key);
|
|
27
|
+
const handleInitialize = (0, _useStableCallback.default)(() => {
|
|
28
|
+
(0, _startScreenTransition.startScreenTransition)({
|
|
29
|
+
target: "open",
|
|
30
|
+
spec: current.options.transitionSpec,
|
|
31
|
+
animations
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
const handleCloseEnd = (0, _useStableCallback.default)(finished => {
|
|
35
|
+
if (!finished) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
handleCloseRoute({
|
|
39
|
+
route: current.route
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
(0, _reactNativeReanimated.useAnimatedReaction)(() => closingRouteKeysShared.value, keys => {
|
|
43
|
+
if (keys.includes(current.route.key)) {
|
|
44
|
+
(0, _startScreenTransition.startScreenTransition)({
|
|
45
|
+
target: "close",
|
|
46
|
+
spec: current.options.transitionSpec,
|
|
47
|
+
animations,
|
|
48
|
+
onAnimationFinish: handleCloseEnd
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
(0, _react.useLayoutEffect)(handleInitialize);
|
|
53
|
+
|
|
54
|
+
// important for t.a scrollviews inside nested navigators.
|
|
55
|
+
(0, _useParentGestureRegistry.useParentGestureRegistry)();
|
|
56
|
+
return children;
|
|
57
|
+
};
|
|
58
|
+
exports.ScreenLifecycleController = ScreenLifecycleController;
|
|
59
|
+
//# sourceMappingURL=screen-lifecycle.blank.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNativeReanimated","_useParentGestureRegistry","_useStableCallback","_interopRequireDefault","_keys","_animations","_startScreenTransition","_withStackNavigation","e","__esModule","default","ScreenLifecycleController","children","current","useKeys","handleCloseRoute","closingRouteKeysShared","useStackNavigationContext","animations","Animations","getAll","route","key","handleInitialize","useStableCallback","startScreenTransition","target","spec","options","transitionSpec","handleCloseEnd","finished","useAnimatedReaction","value","keys","includes","onAnimationFinish","useLayoutEffect","useParentGestureRegistry","exports"],"sourceRoot":"../../../../src","sources":["components/controllers/screen-lifecycle.blank.ts"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AAEA,IAAAE,yBAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,sBAAA,GAAAP,OAAA;AACA,IAAAQ,oBAAA,GAAAR,OAAA;AAAuG,SAAAI,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAOhG,MAAMG,yBAAyB,GAAGA,CAAC;EACxCC;AACoB,CAAC,KAAK;EAC1B,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,aAAO,EAAuB,CAAC;EACnD,MAAM;IAAEC,gBAAgB;IAAEC;EAAuB,CAAC,GAChD,IAAAC,8CAAyB,EAAC,CAAC;EAE7B,MAAMC,UAAU,GAAGC,sBAAU,CAACC,MAAM,CAACP,OAAO,CAACQ,KAAK,CAACC,GAAG,CAAC;EAEvD,MAAMC,gBAAgB,GAAG,IAAAC,0BAAiB,EAAC,MAAM;IAC/C,IAAAC,4CAAqB,EAAC;MACpBC,MAAM,EAAE,MAAM;MACdC,IAAI,EAAEd,OAAO,CAACe,OAAO,CAACC,cAAc;MACpCX;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,MAAMY,cAAc,GAAG,IAAAN,0BAAiB,EAAEO,QAAiB,IAAK;IAC9D,IAAI,CAACA,QAAQ,EAAE;MACb;IACF;IAEAhB,gBAAgB,CAAC;MAAEM,KAAK,EAAER,OAAO,CAACQ;IAAM,CAAC,CAAC;EAC5C,CAAC,CAAC;EAEF,IAAAW,0CAAmB,EACjB,MAAMhB,sBAAsB,CAACiB,KAAK,EACjCC,IAAI,IAAK;IACR,IAAIA,IAAI,CAACC,QAAQ,CAACtB,OAAO,CAACQ,KAAK,CAACC,GAAG,CAAC,EAAE;MACpC,IAAAG,4CAAqB,EAAC;QACpBC,MAAM,EAAE,OAAO;QACfC,IAAI,EAAEd,OAAO,CAACe,OAAO,CAACC,cAAc;QACpCX,UAAU;QACVkB,iBAAiB,EAAEN;MACrB,CAAC,CAAC;IACJ;EACF,CACF,CAAC;EAED,IAAAO,sBAAe,EAACd,gBAAgB,CAAC;;EAEjC;EACA,IAAAe,kDAAwB,EAAC,CAAC;EAE1B,OAAO1B,QAAQ;AACjB,CAAC;AAAC2B,OAAA,CAAA5B,yBAAA,GAAAA,yBAAA","ignoreList":[]}
|
|
@@ -50,7 +50,7 @@ const useBuildScreenTransitionState = descriptor => {
|
|
|
50
50
|
};
|
|
51
51
|
}, [key, descriptor?.route]);
|
|
52
52
|
};
|
|
53
|
-
function _useScreenAnimation() {
|
|
53
|
+
function _useScreenAnimation(defaultEnableTransitions = false) {
|
|
54
54
|
const dimensions = (0, _reactNative.useWindowDimensions)();
|
|
55
55
|
const insets = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
|
|
56
56
|
const {
|
|
@@ -65,7 +65,9 @@ function _useScreenAnimation() {
|
|
|
65
65
|
"worklet";
|
|
66
66
|
|
|
67
67
|
const previous = unwrap(prevAnimation, previousDescriptor?.route.key);
|
|
68
|
-
const
|
|
68
|
+
const nextEnableTransitions = nextDescriptor?.options?.enableTransitions;
|
|
69
|
+
const shouldEnableNext = nextEnableTransitions === undefined ? defaultEnableTransitions : nextEnableTransitions;
|
|
70
|
+
const next = shouldEnableNext ? unwrap(nextAnimation, nextDescriptor?.route.key) : undefined;
|
|
69
71
|
const current = unwrap(currentAnimation, currentDescriptor?.route.key) ?? _constants.DEFAULT_SCREEN_TRANSITION_STATE;
|
|
70
72
|
const {
|
|
71
73
|
progress,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_reactNativeSafeAreaContext","_constants","_keys","_animations","_bounds","_gestures","_derivations","_bounds2","unwrap","s","key","undefined","progress","value","closing","animating","gesture","x","y","normalizedX","normalizedY","isDismissing","isDragging","direction","bounds","Bounds","getBounds","NO_BOUNDS_MAP","route","useBuildScreenTransitionState","descriptor","useMemo","Animations","getAnimation","Gestures","getRouteGestures","_useScreenAnimation","dimensions","useWindowDimensions","insets","useSafeAreaInsets","current","currentDescriptor","next","nextDescriptor","previous","previousDescriptor","useKeys","currentAnimation","nextAnimation","prevAnimation","screenInterpolatorProps","useDerivedValue","options","enableTransitions","DEFAULT_SCREEN_TRANSITION_STATE","focused","activeBoundId","active","isActiveTransitioning","derivations","layouts","screen","nextInterpolator","screenStyleInterpolator","currentInterpolator","useScreenAnimation","props","createBounds"],"sourceRoot":"../../../../src","sources":["hooks/animation/use-screen-animation.tsx"],"mappings":";;;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AACA,IAAAG,2BAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAIA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AACA,IAAAQ,SAAA,GAAAR,OAAA;AAOA,IAAAS,YAAA,GAAAT,OAAA;AACA,IAAAU,QAAA,GAAAV,OAAA;AAUA,MAAMW,MAAM,GAAGA,CACdC,CAAyB,EACzBC,GAAuB,KACgB;EACvC,SAAS;;EACT,IAAI,CAACD,CAAC,IAAI,CAACC,GAAG,EAAE,OAAOC,SAAS;EAEhC,OAAO;IACNC,QAAQ,EAAEH,CAAC,CAACG,QAAQ,CAACC,KAAK;IAC1BC,OAAO,EAAEL,CAAC,CAACK,OAAO,CAACD,KAAK;IACxBE,SAAS,EAAEN,CAAC,CAACM,SAAS,CAACF,KAAK;IAC5BG,OAAO,EAAE;MACRC,CAAC,EAAER,CAAC,CAACO,OAAO,CAACC,CAAC,CAACJ,KAAK;MACpBK,CAAC,EAAET,CAAC,CAACO,OAAO,CAACE,CAAC,CAACL,KAAK;MACpBM,WAAW,EAAEV,CAAC,CAACO,OAAO,CAACG,WAAW,CAACN,KAAK;MACxCO,WAAW,EAAEX,CAAC,CAACO,OAAO,CAACI,WAAW,CAACP,KAAK;MACxCQ,YAAY,EAAEZ,CAAC,CAACO,OAAO,CAACK,YAAY,CAACR,KAAK;MAC1CS,UAAU,EAAEb,CAAC,CAACO,OAAO,CAACM,UAAU,CAACT,KAAK;MACtCU,SAAS,EAAEd,CAAC,CAACO,OAAO,CAACO,SAAS,CAACV;IAChC,CAAC;IACDW,MAAM,EAAEC,cAAM,CAACC,SAAS,CAAChB,GAAG,CAAC,IAAIiB,wBAAa;IAC9CC,KAAK,EAAEnB,CAAC,CAACmB;EACV,CAAC;AACF,CAAC;AAED,MAAMC,6BAA6B,GAClCC,UAA6C,IACjB;EAC5B,MAAMpB,GAAG,GAAGoB,UAAU,EAAEF,KAAK,CAAClB,GAAG;EAEjC,OAAO,IAAAqB,cAAO,EAAC,MAAM;IACpB,IAAI,CAACrB,GAAG,EAAE,OAAOC,SAAS;IAE1B,OAAO;MACNC,QAAQ,EAAEoB,sBAAU,CAACC,YAAY,CAACvB,GAAG,EAAE,UAAU,CAAC;MAClDI,OAAO,EAAEkB,sBAAU,CAACC,YAAY,CAACvB,GAAG,EAAE,SAAS,CAAC;MAChDK,SAAS,EAAEiB,sBAAU,CAACC,YAAY,CAACvB,GAAG,EAAE,WAAW,CAAC;MACpDM,OAAO,EAAEkB,kBAAQ,CAACC,gBAAgB,CAACzB,GAAG,CAAC;MACvCkB,KAAK,EAAEE,UAAU,CAACF;IACnB,CAAC;EACF,CAAC,EAAE,CAAClB,GAAG,EAAEoB,UAAU,EAAEF,KAAK,CAAC,CAAC;AAC7B,CAAC;AAEM,SAASQ,mBAAmBA,
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_reactNativeSafeAreaContext","_constants","_keys","_animations","_bounds","_gestures","_derivations","_bounds2","unwrap","s","key","undefined","progress","value","closing","animating","gesture","x","y","normalizedX","normalizedY","isDismissing","isDragging","direction","bounds","Bounds","getBounds","NO_BOUNDS_MAP","route","useBuildScreenTransitionState","descriptor","useMemo","Animations","getAnimation","Gestures","getRouteGestures","_useScreenAnimation","defaultEnableTransitions","dimensions","useWindowDimensions","insets","useSafeAreaInsets","current","currentDescriptor","next","nextDescriptor","previous","previousDescriptor","useKeys","currentAnimation","nextAnimation","prevAnimation","screenInterpolatorProps","useDerivedValue","nextEnableTransitions","options","enableTransitions","shouldEnableNext","DEFAULT_SCREEN_TRANSITION_STATE","focused","activeBoundId","active","isActiveTransitioning","derivations","layouts","screen","nextInterpolator","screenStyleInterpolator","currentInterpolator","useScreenAnimation","props","createBounds"],"sourceRoot":"../../../../src","sources":["hooks/animation/use-screen-animation.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -77,20 +77,16 @@ const FloatHeader = () => {
|
|
|
77
77
|
const previous = scenes[headerIndex - 1]?.descriptor;
|
|
78
78
|
const current = scene.descriptor;
|
|
79
79
|
const next = scenes[headerIndex + 1]?.descriptor;
|
|
80
|
-
return (
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
scene: scene,
|
|
89
|
-
focusedIndex: focusedIndex,
|
|
90
|
-
isFloating: true
|
|
91
|
-
})
|
|
80
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_keys.KeysProvider, {
|
|
81
|
+
current: current,
|
|
82
|
+
previous: previous,
|
|
83
|
+
next: next,
|
|
84
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(HeaderHost, {
|
|
85
|
+
scene: scene,
|
|
86
|
+
focusedIndex: focusedIndex,
|
|
87
|
+
isFloating: true
|
|
92
88
|
})
|
|
93
|
-
);
|
|
89
|
+
});
|
|
94
90
|
};
|
|
95
91
|
const ScreenHeader = () => {
|
|
96
92
|
const {
|
|
@@ -100,13 +96,10 @@ const ScreenHeader = () => {
|
|
|
100
96
|
current
|
|
101
97
|
} = (0, _keys.useKeys)();
|
|
102
98
|
const options = current.options;
|
|
103
|
-
|
|
104
|
-
// @ts-expect-error
|
|
105
99
|
if (!options.headerShown || options.headerMode !== "screen") {
|
|
106
100
|
return null;
|
|
107
101
|
}
|
|
108
102
|
const scene = {
|
|
109
|
-
//@ts-expect-error
|
|
110
103
|
descriptor: current,
|
|
111
104
|
route: current.route
|
|
112
105
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_native","require","_react","_reactNative","_reactNativeSafeAreaContext","_useScreenAnimation","_keys","_withStackNavigation","_jsxRuntime","getActiveFloatHeader","scenes","index","i","scene","options","descriptor","headerMode","headerShown","headerIndex","HeaderHost","focusedIndex","isFloating","insets","useSafeAreaInsets","animation","useScreenAnimation","HeaderComponent","header","headerProps","route","navigation","jsx","Animated","View","pointerEvents","style","styles","container","floating","absolute","children","NavigationContext","Provider","value","NavigationRouteContext","FloatHeader","useStackNavigationContext","activeHeader","useMemo","previous","current","next","KeysProvider","ScreenHeader","useKeys","Header","exports","Float","Screen","StyleSheet","create","position","top","start","end","flex","zIndex"],"sourceRoot":"../../../../../src","sources":["integrations/blank-stack/components/Header.tsx"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAIA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,2BAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;
|
|
1
|
+
{"version":3,"names":["_native","require","_react","_reactNative","_reactNativeSafeAreaContext","_useScreenAnimation","_keys","_withStackNavigation","_jsxRuntime","getActiveFloatHeader","scenes","index","i","scene","options","descriptor","headerMode","headerShown","headerIndex","HeaderHost","focusedIndex","isFloating","insets","useSafeAreaInsets","animation","useScreenAnimation","HeaderComponent","header","headerProps","route","navigation","jsx","Animated","View","pointerEvents","style","styles","container","floating","absolute","children","NavigationContext","Provider","value","NavigationRouteContext","FloatHeader","useStackNavigationContext","activeHeader","useMemo","previous","current","next","KeysProvider","ScreenHeader","useKeys","Header","exports","Float","Screen","StyleSheet","create","position","top","start","end","flex","zIndex"],"sourceRoot":"../../../../../src","sources":["integrations/blank-stack/components/Header.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,11 +8,10 @@ var _elements = require("@react-navigation/elements");
|
|
|
8
8
|
var _native = require("@react-navigation/native");
|
|
9
9
|
var _reactNativeGestureHandler = require("react-native-gesture-handler");
|
|
10
10
|
var _reactNativeScreens = require("react-native-screens");
|
|
11
|
-
var _rootTransitionAware = require("../../../components/root-transition-aware");
|
|
12
|
-
var _screenTransitionProvider = require("../../../providers/screen-transition-provider");
|
|
13
11
|
var _withStackNavigation = require("../utils/with-stack-navigation");
|
|
14
12
|
var _Header = require("./Header");
|
|
15
13
|
var _Screens = require("./Screens");
|
|
14
|
+
var _screenTransitionProvider = require("../providers/screen-transition-provider");
|
|
16
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
16
|
function isFabric() {
|
|
18
17
|
return "nativeFabricUIManager" in global;
|
|
@@ -27,25 +26,23 @@ const SceneView = ({
|
|
|
27
26
|
} = descriptor;
|
|
28
27
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_native.NavigationContext.Provider, {
|
|
29
28
|
value: navigation,
|
|
30
|
-
children: /*#__PURE__*/(0, _jsxRuntime.
|
|
29
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_native.NavigationRouteContext.Provider, {
|
|
31
30
|
value: route,
|
|
32
|
-
children: /*#__PURE__*/(0, _jsxRuntime.
|
|
33
|
-
children: [descriptor.options.headerMode === "screen" && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Header.Header.Screen, {}), render()]
|
|
34
|
-
})
|
|
31
|
+
children: [descriptor.options.headerMode === "screen" && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Header.Header.Screen, {}), render()]
|
|
35
32
|
})
|
|
36
33
|
});
|
|
37
34
|
};
|
|
38
35
|
const StackView = exports.StackView = (0, _withStackNavigation.withStackNavigationProvider)(({
|
|
39
36
|
activeScreensLimit,
|
|
40
37
|
descriptors,
|
|
41
|
-
FloatHeader,
|
|
42
38
|
focusedIndex,
|
|
43
39
|
routes,
|
|
44
|
-
scenes
|
|
40
|
+
scenes,
|
|
41
|
+
shouldShowFloatHeader
|
|
45
42
|
}) => {
|
|
46
43
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureHandlerRootView, {
|
|
47
44
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_elements.SafeAreaProviderCompat, {
|
|
48
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
45
|
+
children: [shouldShowFloatHeader ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Header.Header.Float, {}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeScreens.ScreenContainer, {
|
|
49
46
|
style: {
|
|
50
47
|
flex: 1
|
|
51
48
|
},
|
|
@@ -69,15 +66,9 @@ const StackView = exports.StackView = (0, _withStackNavigation.withStackNavigati
|
|
|
69
66
|
routes: routes,
|
|
70
67
|
shouldFreeze: shouldFreeze,
|
|
71
68
|
freezeOnBlur: descriptor.options.freezeOnBlur,
|
|
72
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_screenTransitionProvider.ScreenTransitionProvider
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
previous: previousDescriptor
|
|
76
|
-
// @ts-expect-error
|
|
77
|
-
,
|
|
78
|
-
current: descriptor
|
|
79
|
-
// @ts-expect-error
|
|
80
|
-
,
|
|
69
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_screenTransitionProvider.ScreenTransitionProvider, {
|
|
70
|
+
previous: previousDescriptor,
|
|
71
|
+
current: descriptor,
|
|
81
72
|
next: nextDescriptor,
|
|
82
73
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(SceneView, {
|
|
83
74
|
isFocused: isFocused,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_elements","require","_native","_reactNativeGestureHandler","_reactNativeScreens","
|
|
1
|
+
{"version":3,"names":["_elements","require","_native","_reactNativeGestureHandler","_reactNativeScreens","_withStackNavigation","_Header","_Screens","_screenTransitionProvider","_jsxRuntime","isFabric","global","SceneView","descriptor","route","navigation","render","jsx","NavigationContext","Provider","value","children","jsxs","NavigationRouteContext","options","headerMode","Header","Screen","StackView","exports","withStackNavigationProvider","activeScreensLimit","descriptors","focusedIndex","routes","scenes","shouldShowFloatHeader","GestureHandlerRootView","SafeAreaProviderCompat","Float","ScreenContainer","style","flex","map","scene","sceneIndex","isFocused","isBelowFocused","previousDescriptor","undefined","nextDescriptor","isPreloaded","key","shouldFreeze","index","routeKey","freezeOnBlur","ScreenTransitionProvider","previous","current","next"],"sourceRoot":"../../../../../src","sources":["integrations/blank-stack/components/StackView.tsx"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAIA,IAAAE,0BAAA,GAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AAEA,IAAAI,oBAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,yBAAA,GAAAP,OAAA;AAAmF,IAAAQ,WAAA,GAAAR,OAAA;AAEnF,SAASS,QAAQA,CAAA,EAAG;EAClB,OAAO,uBAAuB,IAAIC,MAAM;AAC1C;AAQA,MAAMC,SAAS,GAAGA,CAAC;EAAEC;AAA2B,CAAC,KAAK;EACpD,MAAM;IAAEC,KAAK;IAAEC,UAAU;IAAEC;EAAO,CAAC,GAAGH,UAAU;EAEhD,oBACE,IAAAJ,WAAA,CAAAQ,GAAA,EAACf,OAAA,CAAAgB,iBAAiB,CAACC,QAAQ;IAACC,KAAK,EAAEL,UAAW;IAAAM,QAAA,eAC5C,IAAAZ,WAAA,CAAAa,IAAA,EAACpB,OAAA,CAAAqB,sBAAsB,CAACJ,QAAQ;MAACC,KAAK,EAAEN,KAAM;MAAAO,QAAA,GAC3CR,UAAU,CAACW,OAAO,CAACC,UAAU,KAAK,QAAQ,iBAAI,IAAAhB,WAAA,CAAAQ,GAAA,EAACX,OAAA,CAAAoB,MAAM,CAACC,MAAM,IAAE,CAAC,EAC/DX,MAAM,CAAC,CAAC;IAAA,CACsB;EAAC,CACR,CAAC;AAEjC,CAAC;AAEM,MAAMY,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG,IAAAE,gDAA2B,EAClD,CAAC;EACCC,kBAAkB;EAClBC,WAAW;EACXC,YAAY;EACZC,MAAM;EACNC,MAAM;EACNC;AACF,CAAC,KAAK;EACJ,oBACE,IAAA3B,WAAA,CAAAQ,GAAA,EAACd,0BAAA,CAAAkC,sBAAsB;IAAAhB,QAAA,eACrB,IAAAZ,WAAA,CAAAa,IAAA,EAACtB,SAAA,CAAAsC,sBAAsB;MAAAjB,QAAA,GACpBe,qBAAqB,gBAAG,IAAA3B,WAAA,CAAAQ,GAAA,EAACX,OAAA,CAAAoB,MAAM,CAACa,KAAK,IAAE,CAAC,GAAG,IAAI,eAChD,IAAA9B,WAAA,CAAAQ,GAAA,EAACb,mBAAA,CAAAoC,eAAe;QAACC,KAAK,EAAE;UAAEC,IAAI,EAAE;QAAE,CAAE;QAAArB,QAAA,EACjCc,MAAM,CAACQ,GAAG,CAAC,CAACC,KAAK,EAAEC,UAAU,KAAK;UACjC,MAAMhC,UAAU,GAAG+B,KAAK,CAAC/B,UAAU;UACnC,MAAMC,KAAK,GAAG8B,KAAK,CAAC9B,KAAK;UACzB,MAAMgC,SAAS,GAAGb,YAAY,KAAKY,UAAU;UAC7C,MAAME,cAAc,GAAGd,YAAY,GAAG,CAAC,KAAKY,UAAU;UAEtD,MAAMG,kBAAkB,GACtBb,MAAM,CAACU,UAAU,GAAG,CAAC,CAAC,EAAEhC,UAAU,IAAIoC,SAAS;UACjD,MAAMC,cAAc,GAClBf,MAAM,CAACU,UAAU,GAAG,CAAC,CAAC,EAAEhC,UAAU,IAAIoC,SAAS;UAEjD,MAAME,WAAW,GAAGnB,WAAW,CAAClB,KAAK,CAACsC,GAAG,CAAC,KAAKH,SAAS;;UAExD;UACA;UACA,MAAMI,YAAY,GAAG3C,QAAQ,CAAC,CAAC,GAC3B,CAACyC,WAAW,IAAI,CAACL,SAAS,IAAI,CAACC,cAAc,GAC7C,CAACI,WAAW,IAAI,CAACL,SAAS;UAC9B,oBACE,IAAArC,WAAA,CAAAQ,GAAA,EAACV,QAAA,CAAAoB,MAAM;YAELwB,WAAW,EAAEA,WAAY;YACzBG,KAAK,EAAET,UAAW;YAClBd,kBAAkB,EAAEA,kBAAmB;YACvCwB,QAAQ,EAAEzC,KAAK,CAACsC,GAAI;YACpBlB,MAAM,EAAEA,MAAO;YACfmB,YAAY,EAAEA,YAAa;YAC3BG,YAAY,EAAE3C,UAAU,CAACW,OAAO,CAACgC,YAAa;YAAAnC,QAAA,eAE9C,IAAAZ,WAAA,CAAAQ,GAAA,EAACT,yBAAA,CAAAiD,wBAAwB;cACvBC,QAAQ,EAAEV,kBAAmB;cAC7BW,OAAO,EAAE9C,UAAW;cACpB+C,IAAI,EAAEV,cAAe;cAAA7B,QAAA,eAErB,IAAAZ,WAAA,CAAAQ,GAAA,EAACL,SAAS;gBAERkC,SAAS,EAAEA,SAAU;gBACrBD,UAAU,EAAEA,UAAW;gBACvBhC,UAAU,EAAEA;cAAW,GAHlBC,KAAK,CAACsC,GAIZ;YAAC,CACsB;UAAC,GApBtBtC,KAAK,CAACsC,GAqBL,CAAC;QAEb,CAAC;MAAC,CACa,CAAC;IAAA,CACI;EAAC,CACH,CAAC;AAE7B,CACF,CAAC","ignoreList":[]}
|
|
@@ -3,12 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.BlankStack = void 0;
|
|
7
6
|
exports.createBlankStackNavigator = createBlankStackNavigator;
|
|
8
7
|
var _native = require("@react-navigation/native");
|
|
9
8
|
var React = _interopRequireWildcard(require("react"));
|
|
10
9
|
var _StackView = require("../components/StackView");
|
|
11
|
-
var _expoRouter = require("expo-router");
|
|
12
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
11
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
14
12
|
function BlankStackNavigator({
|
|
@@ -67,8 +65,4 @@ function BlankStackNavigator({
|
|
|
67
65
|
function createBlankStackNavigator(config) {
|
|
68
66
|
return (0, _native.createNavigatorFactory)(BlankStackNavigator)(config);
|
|
69
67
|
}
|
|
70
|
-
const {
|
|
71
|
-
Navigator
|
|
72
|
-
} = createBlankStackNavigator();
|
|
73
|
-
const BlankStack = exports.BlankStack = (0, _expoRouter.withLayoutContext)(Navigator);
|
|
74
68
|
//# sourceMappingURL=createBlankStackNavigator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_native","require","React","_interopRequireWildcard","_StackView","
|
|
1
|
+
{"version":3,"names":["_native","require","React","_interopRequireWildcard","_StackView","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BlankStackNavigator","id","initialRouteName","children","layout","screenListeners","screenOptions","screenLayout","rest","state","describe","descriptors","navigation","NavigationContent","useNavigationBuilder","StackRouter","useEffect","addListener","isFocused","requestAnimationFrame","index","defaultPrevented","dispatch","StackActions","popToTop","target","key","jsx","StackView","createBlankStackNavigator","config","createNavigatorFactory"],"sourceRoot":"../../../../../src","sources":["integrations/blank-stack/navigators/createBlankStackNavigator.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ScreenTransitionProvider = void 0;
|
|
7
|
+
var _screenLifecycle = require("../../../components/controllers/screen-lifecycle.blank");
|
|
8
|
+
var _createScreenTransitionProvider = require("../../../providers/create-screen-transition-provider");
|
|
9
|
+
const ScreenTransitionProvider = exports.ScreenTransitionProvider = (0, _createScreenTransitionProvider.createScreenTransitionProvider)(_screenLifecycle.ScreenLifecycleController, {
|
|
10
|
+
defaultEnableTransitions: true
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=screen-transition-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_screenLifecycle","require","_createScreenTransitionProvider","ScreenTransitionProvider","exports","createScreenTransitionProvider","ScreenLifecycleController","defaultEnableTransitions"],"sourceRoot":"../../../../../src","sources":["integrations/blank-stack/providers/screen-transition-provider.tsx"],"mappings":";;;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AACA,IAAAC,+BAAA,GAAAD,OAAA;AAGO,MAAME,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA,GACpC,IAAAE,8DAA8B,EAC7BC,0CAAyB,EACzB;EAAEC,wBAAwB,EAAE;AAAK,CAClC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["calculateActiveScreensLimit","routes","descriptors","length","limit","i","route","shouldKeepPrevious","key","options","detachPreviousScreen","Math","min"],"sourceRoot":"../../../../../../../src","sources":["integrations/blank-stack/utils/with-stack-navigation/_utils/calculate-active-screens-limit.ts"],"mappings":";;;;;;AAGO,SAASA,2BAA2BA,CACzCC,MAAgD,EAChDC,WAAoC,EAC5B;EACR,IAAID,MAAM,CAACE,MAAM,KAAK,CAAC,EAAE;IACvB,OAAO,CAAC;EACV;EAEA,IAAIC,KAAK,GAAG,CAAC;EAEb,KAAK,IAAIC,CAAC,GAAGJ,MAAM,CAACE,MAAM,GAAG,CAAC,EAAEE,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;IAC3C,MAAMC,KAAK,GAAGL,MAAM,CAACI,CAAC,CAAC;IAEvB,MAAME,kBAAkB,GACtBL,WAAW,GAAGI,KAAK,CAACE,GAAG,CAAC,EAAEC,OAAO,EAAEC,oBAAoB,KAAK,IAAI;IAElE,IAAIH,kBAAkB,EAAE;MACtBH,KAAK,EAAE;MACP;IACF;IAEA;EACF;EAEA,OAAOO,IAAI,CAACC,GAAG,CAACR,KAAK,EAAEH,MAAM,CAACE,MAAM,CAAC;AACvC","ignoreList":[]}
|
|
@@ -6,9 +6,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.useStackNavigationContext = exports.StackNavigationContext = void 0;
|
|
7
7
|
exports.withStackNavigationProvider = withStackNavigationProvider;
|
|
8
8
|
var _react = require("react");
|
|
9
|
-
var _Header = require("../../components/Header");
|
|
10
9
|
var _useStackNavigationState = require("./_hooks/use-stack-navigation-state");
|
|
11
|
-
var _calculateActiveScreensLimit = require("./_utils/
|
|
10
|
+
var _calculateActiveScreensLimit = require("./_utils/calculate-active-screens-limit");
|
|
12
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
12
|
const StackNavigationContext = exports.StackNavigationContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
14
13
|
function withStackNavigationProvider(Component) {
|
|
@@ -30,16 +29,12 @@ function withStackNavigationProvider(Component) {
|
|
|
30
29
|
const activeScreensLimit = (0, _react.useMemo)(() => {
|
|
31
30
|
return (0, _calculateActiveScreensLimit.calculateActiveScreensLimit)(state.routes, state.descriptors);
|
|
32
31
|
}, [state.routes, state.descriptors]);
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
const options =
|
|
32
|
+
const shouldShowFloatHeader = (0, _react.useMemo)(() => {
|
|
33
|
+
return state.routes.some(route => {
|
|
34
|
+
const options = state.descriptors[route.key]?.options;
|
|
36
35
|
return options?.headerMode === "float" && options?.headerShown;
|
|
37
36
|
});
|
|
38
|
-
|
|
39
|
-
return null;
|
|
40
|
-
}
|
|
41
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Header.Header.Float, {});
|
|
42
|
-
});
|
|
37
|
+
}, [state.routes, state.descriptors]);
|
|
43
38
|
const contextValue = (0, _react.useMemo)(() => {
|
|
44
39
|
return {
|
|
45
40
|
routes: state.routes,
|
|
@@ -49,9 +44,9 @@ function withStackNavigationProvider(Component) {
|
|
|
49
44
|
activeScreensLimit,
|
|
50
45
|
handleCloseRoute,
|
|
51
46
|
scenes,
|
|
52
|
-
|
|
47
|
+
shouldShowFloatHeader
|
|
53
48
|
};
|
|
54
|
-
}, [state, scenes, activeScreensLimit, closingRouteKeys, handleCloseRoute, props.state.index,
|
|
49
|
+
}, [state, scenes, activeScreensLimit, closingRouteKeys, handleCloseRoute, props.state.index, shouldShowFloatHeader]);
|
|
55
50
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(StackNavigationContext.Provider, {
|
|
56
51
|
value: contextValue,
|
|
57
52
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","
|
|
1
|
+
{"version":3,"names":["_react","require","_useStackNavigationState","_calculateActiveScreensLimit","_jsxRuntime","StackNavigationContext","exports","createContext","withStackNavigationProvider","Component","StackNavigationWrapper","props","state","handleCloseRoute","closingRouteKeys","useStackNavigationState","scenes","useMemo","routes","reduce","acc","route","push","descriptor","descriptors","key","activeScreensLimit","calculateActiveScreensLimit","shouldShowFloatHeader","some","options","headerMode","headerShown","contextValue","focusedIndex","index","closingRouteKeysShared","shared","jsx","Provider","value","children","useStackNavigationContext","context","useContext","Error"],"sourceRoot":"../../../../../../src","sources":["integrations/blank-stack/utils/with-stack-navigation/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ScreenTransitionProvider = void 0;
|
|
7
|
+
var _screenLifecycle = require("../../../components/controllers/screen-lifecycle");
|
|
8
|
+
var _createScreenTransitionProvider = require("../../../providers/create-screen-transition-provider");
|
|
9
|
+
const ScreenTransitionProvider = exports.ScreenTransitionProvider = (0, _createScreenTransitionProvider.createScreenTransitionProvider)(_screenLifecycle.ScreenLifecycleController);
|
|
10
|
+
//# sourceMappingURL=screen-transition-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_screenLifecycle","require","_createScreenTransitionProvider","ScreenTransitionProvider","exports","createScreenTransitionProvider","ScreenLifecycleController"],"sourceRoot":"../../../../../src","sources":["integrations/native-stack/providers/screen-transition-provider.tsx"],"mappings":";;;;;;AACA,IAAAA,gBAAA,GAAAC,OAAA;AACA,IAAAC,+BAAA,GAAAD,OAAA;AAEO,MAAME,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA,GACnC,IAAAE,8DAA8B,EAC5BC,0CACF,CAAC","ignoreList":[]}
|
|
@@ -10,7 +10,7 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
10
10
|
var _reactNative = require("react-native");
|
|
11
11
|
var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
|
|
12
12
|
var _reactNativeScreens = require("react-native-screens");
|
|
13
|
-
var _screenTransitionProvider = require("
|
|
13
|
+
var _screenTransitionProvider = require("../providers/screen-transition-provider");
|
|
14
14
|
var _debounce = require("../utils/debounce");
|
|
15
15
|
var _getModalRoutesKeys = require("../utils/getModalRoutesKeys");
|
|
16
16
|
var _useAnimatedHeaderHeight = require("../utils/useAnimatedHeaderHeight");
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createScreenTransitionProvider = createScreenTransitionProvider;
|
|
7
|
+
var _rootTransitionAware = require("../components/root-transition-aware");
|
|
8
|
+
var _gestures = require("./gestures");
|
|
9
|
+
var _keys = require("./keys");
|
|
10
|
+
var _transitionStyles = require("./transition-styles");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
function createScreenTransitionProvider(ScreenLifecycleComponent, {
|
|
13
|
+
defaultEnableTransitions = false
|
|
14
|
+
} = {}) {
|
|
15
|
+
return function ScreenTransitionProvider({
|
|
16
|
+
previous,
|
|
17
|
+
current,
|
|
18
|
+
next,
|
|
19
|
+
children
|
|
20
|
+
}) {
|
|
21
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_keys.KeysProvider, {
|
|
22
|
+
previous: previous,
|
|
23
|
+
current: current,
|
|
24
|
+
next: next,
|
|
25
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_gestures.ScreenGestureProvider, {
|
|
26
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ScreenLifecycleComponent, {
|
|
27
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_transitionStyles.TransitionStylesProvider, {
|
|
28
|
+
defaultEnableTransitions: defaultEnableTransitions,
|
|
29
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_rootTransitionAware.RootTransitionAware, {
|
|
30
|
+
children: children
|
|
31
|
+
})
|
|
32
|
+
})
|
|
33
|
+
})
|
|
34
|
+
})
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=create-screen-transition-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_rootTransitionAware","require","_gestures","_keys","_transitionStyles","_jsxRuntime","createScreenTransitionProvider","ScreenLifecycleComponent","defaultEnableTransitions","ScreenTransitionProvider","previous","current","next","children","jsx","KeysProvider","ScreenGestureProvider","TransitionStylesProvider","RootTransitionAware"],"sourceRoot":"../../../src","sources":["providers/create-screen-transition-provider.tsx"],"mappings":";;;;;;AAEA,IAAAA,oBAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AAA+D,IAAAI,WAAA,GAAAJ,OAAA;AAmBxD,SAASK,8BAA8BA,CAG5CC,wBAAkD,EAClD;EAAEC,wBAAwB,GAAG;AAA6C,CAAC,GAAG,CAAC,CAAC,EAChF;EACA,OAAO,SAASC,wBAAwBA,CAAC;IACvCC,QAAQ;IACRC,OAAO;IACPC,IAAI;IACJC;EAC6C,CAAC,EAAE;IAChD,oBACE,IAAAR,WAAA,CAAAS,GAAA,EAACX,KAAA,CAAAY,YAAY;MACXL,QAAQ,EAAEA,QAAS;MACnBC,OAAO,EAAEA,OAAQ;MACjBC,IAAI,EAAEA,IAAK;MAAAC,QAAA,eAEX,IAAAR,WAAA,CAAAS,GAAA,EAACZ,SAAA,CAAAc,qBAAqB;QAAAH,QAAA,eACpB,IAAAR,WAAA,CAAAS,GAAA,EAACP,wBAAwB;UAAAM,QAAA,eACvB,IAAAR,WAAA,CAAAS,GAAA,EAACV,iBAAA,CAAAa,wBAAwB;YACvBT,wBAAwB,EAAEA,wBAAyB;YAAAK,QAAA,eAEnD,IAAAR,WAAA,CAAAS,GAAA,EAACd,oBAAA,CAAAkB,mBAAmB;cAAAL,QAAA,EAAEA;YAAQ,CAAsB;UAAC,CAC7B;QAAC,CACH;MAAC,CACN;IAAC,CACZ,CAAC;EAEnB,CAAC;AACH","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_jsxRuntime","KeysContext","createContext","undefined","KeysProvider","children","previous","current","next","value","useMemo","jsx","Provider","exports","useKeys","context","useContext","Error"],"sourceRoot":"../../../src","sources":["providers/keys.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAA2D,IAAAC,WAAA,GAAAD,OAAA;
|
|
1
|
+
{"version":3,"names":["_react","require","_jsxRuntime","KeysContext","createContext","undefined","KeysProvider","children","previous","current","next","value","useMemo","jsx","Provider","exports","useKeys","context","useContext","Error"],"sourceRoot":"../../../src","sources":["providers/keys.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAA2D,IAAAC,WAAA,GAAAD,OAAA;AAyB3D,MAAME,WAAW,gBAAG,IAAAC,oBAAa,EAA+BC,SAAS,CAAC;AAEnE,MAAMC,YAAY,GAAGA,CAAuC;EACjEC,QAAQ;EACRC,QAAQ;EACRC,OAAO;EACPC;AACiC,CAAC,KAAK;EACvC,MAAMC,KAAK,GAAG,IAAAC,cAAO,EACnB,OAAO;IAAEJ,QAAQ;IAAEC,OAAO;IAAEC;EAAK,CAAC,CAAC,EACnC,CAACF,QAAQ,EAAEC,OAAO,EAAEC,IAAI,CAC1B,CAAqB;EAErB,oBAAO,IAAAR,WAAA,CAAAW,GAAA,EAACV,WAAW,CAACW,QAAQ;IAACH,KAAK,EAAEA,KAAM;IAAAJ,QAAA,EAAEA;EAAQ,CAAuB,CAAC;AAC9E,CAAC;AAACQ,OAAA,CAAAT,YAAA,GAAAA,YAAA;AAEK,MAAMU,OAAO,GAAGA,CAAA,KAEiB;EACtC,MAAMC,OAAO,GAAG,IAAAC,iBAAU,EAACf,WAAW,CAAC;EACvC,IAAIc,OAAO,KAAKZ,SAAS,EAAE;IACzB,MAAM,IAAIc,KAAK,CAAC,4CAA4C,CAAC;EAC/D;EACA,OAAOF,OAAO;AAChB,CAAC;AAACF,OAAA,CAAAC,OAAA,GAAAA,OAAA","ignoreList":[]}
|
|
@@ -13,12 +13,13 @@ var _bounds = require("../utils/bounds");
|
|
|
13
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
14
|
const TransitionStylesContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
15
15
|
function TransitionStylesProvider({
|
|
16
|
-
children
|
|
16
|
+
children,
|
|
17
|
+
defaultEnableTransitions = false
|
|
17
18
|
}) {
|
|
18
19
|
const {
|
|
19
20
|
screenInterpolatorProps,
|
|
20
21
|
screenStyleInterpolator
|
|
21
|
-
} = (0, _useScreenAnimation2._useScreenAnimation)();
|
|
22
|
+
} = (0, _useScreenAnimation2._useScreenAnimation)(defaultEnableTransitions);
|
|
22
23
|
const stylesMap = (0, _reactNativeReanimated.useDerivedValue)(() => {
|
|
23
24
|
"worklet";
|
|
24
25
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNativeReanimated","_constants","_useScreenAnimation2","_bounds","_jsxRuntime","TransitionStylesContext","createContext","TransitionStylesProvider","children","screenInterpolatorProps","screenStyleInterpolator","_useScreenAnimation","stylesMap","useDerivedValue","props","value","bounds","createBounds","NO_STYLES","err","__DEV__","console","warn","useMemo","jsx","Provider","useTransitionStyles","ctx","useContext","Error"],"sourceRoot":"../../../src","sources":["providers/transition-styles.tsx"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AAEA,IAAAI,OAAA,GAAAJ,OAAA;AAA+C,IAAAK,WAAA,GAAAL,OAAA;
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNativeReanimated","_constants","_useScreenAnimation2","_bounds","_jsxRuntime","TransitionStylesContext","createContext","TransitionStylesProvider","children","defaultEnableTransitions","screenInterpolatorProps","screenStyleInterpolator","_useScreenAnimation","stylesMap","useDerivedValue","props","value","bounds","createBounds","NO_STYLES","err","__DEV__","console","warn","useMemo","jsx","Provider","useTransitionStyles","ctx","useContext","Error"],"sourceRoot":"../../../src","sources":["providers/transition-styles.tsx"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AAEA,IAAAI,OAAA,GAAAJ,OAAA;AAA+C,IAAAK,WAAA,GAAAL,OAAA;AAO/C,MAAMM,uBAAuB,gBAAG,IAAAC,oBAAa,EAInC,IAAI,CAAC;AAER,SAASC,wBAAwBA,CAAC;EACxCC,QAAQ;EACRC,wBAAwB,GAAG;AACrB,CAAC,EAAE;EACT,MAAM;IAAEC,uBAAuB;IAAEC;EAAwB,CAAC,GACzD,IAAAC,wCAAmB,EAACH,wBAAwB,CAAC;EAE9C,MAAMI,SAAS,GAAG,IAAAC,sCAAe,EAA8B,MAAM;IACpE,SAAS;;IAET;AACF;AACA;AACA;AACA;IACE,MAAMC,KAAK,GAAGL,uBAAuB,CAACM,KAAK;IAE3C,MAAMC,MAAM,GAAG,IAAAC,oBAAY,EAACH,KAAK,CAAC;IAClC,IAAI;MACH,IAAI,CAACJ,uBAAuB,EAAE,OAAOQ,oBAAS;MAE9C,OAAOR,uBAAuB,CAAC;QAC9B,GAAGI,KAAK;QACRE;MACD,CAAC,CAAC;IACH,CAAC,CAAC,OAAOG,GAAG,EAAE;MACb,IAAIC,OAAO,EAAE;QACZC,OAAO,CAACC,IAAI,CACX,6EAA6E,EAC7EH,GACD,CAAC;MACF;MACA,OAAOD,oBAAS;IACjB;EACD,CAAC,CAAC;EAEF,MAAMH,KAAK,GAAG,IAAAQ,cAAO,EAAC,MAAM;IAC3B,OAAO;MACNX;IACD,CAAC;EACF,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAEf,oBACC,IAAAT,WAAA,CAAAqB,GAAA,EAACpB,uBAAuB,CAACqB,QAAQ;IAACV,KAAK,EAAEA,KAAM;IAAAR,QAAA,EAC7CA;EAAQ,CACwB,CAAC;AAErC;AAEO,SAASmB,mBAAmBA,CAAA,EAAG;EACrC,MAAMC,GAAG,GAAG,IAAAC,iBAAU,EAACxB,uBAAuB,CAAC;EAC/C,IAAI,CAACuB,GAAG,EAAE;IACT,MAAM,IAAIE,KAAK,CACd,oEACD,CAAC;EACF;EACA,OAAOF,GAAG;AACX","ignoreList":[]}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useLayoutEffect } from "react";
|
|
4
|
+
import { useAnimatedReaction } from "react-native-reanimated";
|
|
5
|
+
import { useParentGestureRegistry } from "../../hooks/gestures/use-parent-gesture-registry";
|
|
6
|
+
import useStableCallback from "../../hooks/use-stable-callback";
|
|
7
|
+
import { useKeys } from "../../providers/keys";
|
|
8
|
+
import { Animations } from "../../stores/animations";
|
|
9
|
+
import { startScreenTransition } from "../../utils/animation/start-screen-transition";
|
|
10
|
+
import { useStackNavigationContext } from "../../integrations/blank-stack/utils/with-stack-navigation";
|
|
11
|
+
export const ScreenLifecycleController = ({
|
|
12
|
+
children
|
|
13
|
+
}) => {
|
|
14
|
+
const {
|
|
15
|
+
current
|
|
16
|
+
} = useKeys();
|
|
17
|
+
const {
|
|
18
|
+
handleCloseRoute,
|
|
19
|
+
closingRouteKeysShared
|
|
20
|
+
} = useStackNavigationContext();
|
|
21
|
+
const animations = Animations.getAll(current.route.key);
|
|
22
|
+
const handleInitialize = useStableCallback(() => {
|
|
23
|
+
startScreenTransition({
|
|
24
|
+
target: "open",
|
|
25
|
+
spec: current.options.transitionSpec,
|
|
26
|
+
animations
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
const handleCloseEnd = useStableCallback(finished => {
|
|
30
|
+
if (!finished) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
handleCloseRoute({
|
|
34
|
+
route: current.route
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
useAnimatedReaction(() => closingRouteKeysShared.value, keys => {
|
|
38
|
+
if (keys.includes(current.route.key)) {
|
|
39
|
+
startScreenTransition({
|
|
40
|
+
target: "close",
|
|
41
|
+
spec: current.options.transitionSpec,
|
|
42
|
+
animations,
|
|
43
|
+
onAnimationFinish: handleCloseEnd
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
useLayoutEffect(handleInitialize);
|
|
48
|
+
|
|
49
|
+
// important for t.a scrollviews inside nested navigators.
|
|
50
|
+
useParentGestureRegistry();
|
|
51
|
+
return children;
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=screen-lifecycle.blank.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useLayoutEffect","useAnimatedReaction","useParentGestureRegistry","useStableCallback","useKeys","Animations","startScreenTransition","useStackNavigationContext","ScreenLifecycleController","children","current","handleCloseRoute","closingRouteKeysShared","animations","getAll","route","key","handleInitialize","target","spec","options","transitionSpec","handleCloseEnd","finished","value","keys","includes","onAnimationFinish"],"sourceRoot":"../../../../src","sources":["components/controllers/screen-lifecycle.blank.ts"],"mappings":";;AACA,SAASA,eAAe,QAAQ,OAAO;AACvC,SAASC,mBAAmB,QAAQ,yBAAyB;AAE7D,SAASC,wBAAwB,QAAQ,kDAAkD;AAC3F,OAAOC,iBAAiB,MAAM,iCAAiC;AAC/D,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,UAAU,QAAQ,yBAAyB;AACpD,SAASC,qBAAqB,QAAQ,+CAA+C;AACrF,SAASC,yBAAyB,QAAQ,4DAA4D;AAOtG,OAAO,MAAMC,yBAAyB,GAAGA,CAAC;EACxCC;AACoB,CAAC,KAAK;EAC1B,MAAM;IAAEC;EAAQ,CAAC,GAAGN,OAAO,CAAuB,CAAC;EACnD,MAAM;IAAEO,gBAAgB;IAAEC;EAAuB,CAAC,GAChDL,yBAAyB,CAAC,CAAC;EAE7B,MAAMM,UAAU,GAAGR,UAAU,CAACS,MAAM,CAACJ,OAAO,CAACK,KAAK,CAACC,GAAG,CAAC;EAEvD,MAAMC,gBAAgB,GAAGd,iBAAiB,CAAC,MAAM;IAC/CG,qBAAqB,CAAC;MACpBY,MAAM,EAAE,MAAM;MACdC,IAAI,EAAET,OAAO,CAACU,OAAO,CAACC,cAAc;MACpCR;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,MAAMS,cAAc,GAAGnB,iBAAiB,CAAEoB,QAAiB,IAAK;IAC9D,IAAI,CAACA,QAAQ,EAAE;MACb;IACF;IAEAZ,gBAAgB,CAAC;MAAEI,KAAK,EAAEL,OAAO,CAACK;IAAM,CAAC,CAAC;EAC5C,CAAC,CAAC;EAEFd,mBAAmB,CACjB,MAAMW,sBAAsB,CAACY,KAAK,EACjCC,IAAI,IAAK;IACR,IAAIA,IAAI,CAACC,QAAQ,CAAChB,OAAO,CAACK,KAAK,CAACC,GAAG,CAAC,EAAE;MACpCV,qBAAqB,CAAC;QACpBY,MAAM,EAAE,OAAO;QACfC,IAAI,EAAET,OAAO,CAACU,OAAO,CAACC,cAAc;QACpCR,UAAU;QACVc,iBAAiB,EAAEL;MACrB,CAAC,CAAC;IACJ;EACF,CACF,CAAC;EAEDtB,eAAe,CAACiB,gBAAgB,CAAC;;EAEjC;EACAf,wBAAwB,CAAC,CAAC;EAE1B,OAAOO,QAAQ;AACjB,CAAC","ignoreList":[]}
|
|
@@ -45,7 +45,7 @@ const useBuildScreenTransitionState = descriptor => {
|
|
|
45
45
|
};
|
|
46
46
|
}, [key, descriptor?.route]);
|
|
47
47
|
};
|
|
48
|
-
export function _useScreenAnimation() {
|
|
48
|
+
export function _useScreenAnimation(defaultEnableTransitions = false) {
|
|
49
49
|
const dimensions = useWindowDimensions();
|
|
50
50
|
const insets = useSafeAreaInsets();
|
|
51
51
|
const {
|
|
@@ -60,7 +60,9 @@ export function _useScreenAnimation() {
|
|
|
60
60
|
"worklet";
|
|
61
61
|
|
|
62
62
|
const previous = unwrap(prevAnimation, previousDescriptor?.route.key);
|
|
63
|
-
const
|
|
63
|
+
const nextEnableTransitions = nextDescriptor?.options?.enableTransitions;
|
|
64
|
+
const shouldEnableNext = nextEnableTransitions === undefined ? defaultEnableTransitions : nextEnableTransitions;
|
|
65
|
+
const next = shouldEnableNext ? unwrap(nextAnimation, nextDescriptor?.route.key) : undefined;
|
|
64
66
|
const current = unwrap(currentAnimation, currentDescriptor?.route.key) ?? DEFAULT_SCREEN_TRANSITION_STATE;
|
|
65
67
|
const {
|
|
66
68
|
progress,
|