react-native-screen-transitions 3.0.0-beta.1 → 3.0.0-beta.10
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/Overlay.js +19 -5
- package/lib/commonjs/blank-stack/components/Overlay.js.map +1 -1
- package/lib/commonjs/blank-stack/components/Screens.js +3 -3
- package/lib/commonjs/blank-stack/components/Screens.js.map +1 -1
- package/lib/commonjs/blank-stack/components/StackView.js +49 -40
- package/lib/commonjs/blank-stack/components/StackView.js.map +1 -1
- package/lib/commonjs/blank-stack/hooks/use-overlay-animation.js +1 -5
- package/lib/commonjs/blank-stack/hooks/use-overlay-animation.js.map +1 -1
- package/lib/commonjs/blank-stack/index.js +14 -0
- package/lib/commonjs/blank-stack/index.js.map +1 -1
- package/lib/commonjs/blank-stack/providers/blank-stack-state.js +65 -0
- package/lib/commonjs/blank-stack/providers/blank-stack-state.js.map +1 -0
- package/lib/commonjs/native-stack/views/NativeStackView.native.js +2 -1
- package/lib/commonjs/native-stack/views/NativeStackView.native.js.map +1 -1
- package/lib/commonjs/shared/components/controllers/screen-lifecycle.js +20 -6
- package/lib/commonjs/shared/components/controllers/screen-lifecycle.js.map +1 -1
- package/lib/commonjs/shared/hooks/animation/use-screen-animation.js.map +1 -1
- package/lib/commonjs/shared/hooks/bounds/use-bound-registry.js +21 -0
- package/lib/commonjs/shared/hooks/bounds/use-bound-registry.js.map +1 -1
- package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js +40 -28
- package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/commonjs/shared/hooks/use-derived-value-state.js +33 -0
- package/lib/commonjs/shared/hooks/use-derived-value-state.js.map +1 -0
- package/lib/commonjs/shared/hooks/use-stable-callback-value.js +7 -1
- package/lib/commonjs/shared/hooks/use-stable-callback-value.js.map +1 -1
- package/lib/commonjs/shared/providers/gestures.js +6 -3
- package/lib/commonjs/shared/providers/gestures.js.map +1 -1
- package/lib/commonjs/shared/providers/utils/create-provider.js +41 -29
- package/lib/commonjs/shared/providers/utils/create-provider.js.map +1 -1
- package/lib/commonjs/shared/stores/animation-store.js +12 -3
- package/lib/commonjs/shared/stores/animation-store.js.map +1 -1
- package/lib/commonjs/shared/stores/bound-store/index.js +12 -1
- package/lib/commonjs/shared/stores/bound-store/index.js.map +1 -1
- package/lib/commonjs/shared/stores/gesture-store.js +10 -0
- package/lib/commonjs/shared/stores/gesture-store.js.map +1 -1
- package/lib/module/blank-stack/components/Overlay.js +19 -5
- package/lib/module/blank-stack/components/Overlay.js.map +1 -1
- package/lib/module/blank-stack/components/Screens.js +3 -3
- package/lib/module/blank-stack/components/Screens.js.map +1 -1
- package/lib/module/blank-stack/components/StackView.js +48 -40
- package/lib/module/blank-stack/components/StackView.js.map +1 -1
- package/lib/module/blank-stack/hooks/use-overlay-animation.js +2 -6
- package/lib/module/blank-stack/hooks/use-overlay-animation.js.map +1 -1
- package/lib/module/blank-stack/index.js +2 -0
- package/lib/module/blank-stack/index.js.map +1 -1
- package/lib/module/blank-stack/providers/blank-stack-state.js +59 -0
- package/lib/module/blank-stack/providers/blank-stack-state.js.map +1 -0
- package/lib/module/native-stack/views/NativeStackView.native.js +2 -1
- package/lib/module/native-stack/views/NativeStackView.native.js.map +1 -1
- package/lib/module/shared/components/controllers/screen-lifecycle.js +20 -6
- package/lib/module/shared/components/controllers/screen-lifecycle.js.map +1 -1
- package/lib/module/shared/hooks/animation/use-screen-animation.js.map +1 -1
- package/lib/module/shared/hooks/bounds/use-bound-registry.js +22 -1
- package/lib/module/shared/hooks/bounds/use-bound-registry.js.map +1 -1
- package/lib/module/shared/hooks/gestures/use-build-gestures.js +42 -30
- package/lib/module/shared/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/module/shared/hooks/use-derived-value-state.js +30 -0
- package/lib/module/shared/hooks/use-derived-value-state.js.map +1 -0
- package/lib/module/shared/hooks/use-stable-callback-value.js +8 -2
- package/lib/module/shared/hooks/use-stable-callback-value.js.map +1 -1
- package/lib/module/shared/providers/gestures.js +6 -3
- package/lib/module/shared/providers/gestures.js.map +1 -1
- package/lib/module/shared/providers/utils/create-provider.js +40 -27
- package/lib/module/shared/providers/utils/create-provider.js.map +1 -1
- package/lib/module/shared/stores/animation-store.js +15 -4
- package/lib/module/shared/stores/animation-store.js.map +1 -1
- package/lib/module/shared/stores/bound-store/index.js +12 -1
- package/lib/module/shared/stores/bound-store/index.js.map +1 -1
- package/lib/module/shared/stores/gesture-store.js +11 -1
- package/lib/module/shared/stores/gesture-store.js.map +1 -1
- package/lib/typescript/blank-stack/components/Overlay.d.ts.map +1 -1
- package/lib/typescript/blank-stack/components/Screens.d.ts +2 -3
- package/lib/typescript/blank-stack/components/Screens.d.ts.map +1 -1
- package/lib/typescript/blank-stack/components/StackView.d.ts.map +1 -1
- package/lib/typescript/blank-stack/hooks/use-overlay-animation.d.ts.map +1 -1
- package/lib/typescript/blank-stack/index.d.ts +2 -0
- package/lib/typescript/blank-stack/index.d.ts.map +1 -1
- package/lib/typescript/blank-stack/providers/blank-stack-state.d.ts +13 -0
- package/lib/typescript/blank-stack/providers/blank-stack-state.d.ts.map +1 -0
- package/lib/typescript/blank-stack/types.d.ts +4 -0
- 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/screen-lifecycle.d.ts.map +1 -1
- package/lib/typescript/shared/configs/index.d.ts +9 -9
- package/lib/typescript/shared/hooks/animation/use-screen-animation.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/bounds/use-bound-registry.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts +5 -2
- package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/use-derived-value-state.d.ts +9 -0
- package/lib/typescript/shared/hooks/use-derived-value-state.d.ts.map +1 -0
- package/lib/typescript/shared/hooks/use-stable-callback-value.d.ts.map +1 -1
- package/lib/typescript/shared/index.d.ts +10 -9
- package/lib/typescript/shared/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/gestures.d.ts +4 -2
- package/lib/typescript/shared/providers/gestures.d.ts.map +1 -1
- package/lib/typescript/shared/providers/utils/create-provider.d.ts +11 -29
- package/lib/typescript/shared/providers/utils/create-provider.d.ts.map +1 -1
- package/lib/typescript/shared/stores/animation-store.d.ts +4 -2
- package/lib/typescript/shared/stores/animation-store.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bound-store/index.d.ts +2 -0
- package/lib/typescript/shared/stores/bound-store/index.d.ts.map +1 -1
- package/lib/typescript/shared/stores/gesture-store.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/blank-stack/components/Overlay.tsx +24 -4
- package/src/blank-stack/components/Screens.tsx +5 -5
- package/src/blank-stack/components/StackView.tsx +55 -46
- package/src/blank-stack/hooks/use-overlay-animation.tsx +3 -18
- package/src/blank-stack/index.ts +2 -0
- package/src/blank-stack/providers/blank-stack-state.tsx +90 -0
- package/src/blank-stack/types.ts +4 -0
- package/src/native-stack/views/NativeStackView.native.tsx +3 -1
- package/src/shared/components/controllers/screen-lifecycle.tsx +20 -7
- package/src/shared/hooks/animation/use-screen-animation.tsx +1 -1
- package/src/shared/hooks/bounds/use-bound-registry.tsx +32 -1
- package/src/shared/hooks/gestures/use-build-gestures.tsx +63 -35
- package/src/shared/hooks/use-derived-value-state.ts +41 -0
- package/src/shared/hooks/use-stable-callback-value.tsx +10 -1
- package/src/shared/index.ts +3 -0
- package/src/shared/providers/gestures.tsx +17 -8
- package/src/shared/providers/utils/create-provider.tsx +77 -0
- package/src/shared/stores/animation-store.ts +19 -3
- package/src/shared/stores/bound-store/index.ts +23 -0
- package/src/shared/stores/gesture-store.ts +15 -1
- package/lib/commonjs/shared/stores/navigator-dismiss-state.js +0 -23
- package/lib/commonjs/shared/stores/navigator-dismiss-state.js.map +0 -1
- package/lib/module/shared/stores/navigator-dismiss-state.js +0 -19
- package/lib/module/shared/stores/navigator-dismiss-state.js.map +0 -1
- package/lib/typescript/shared/stores/navigator-dismiss-state.d.ts +0 -7
- package/lib/typescript/shared/stores/navigator-dismiss-state.d.ts.map +0 -1
- package/src/shared/providers/utils/create-provider.ts +0 -64
- package/src/shared/stores/navigator-dismiss-state.ts +0 -17
|
@@ -4,8 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.AnimationStore = void 0;
|
|
7
|
-
exports.getAll = getAll;
|
|
8
|
-
exports.getAnimation = getAnimation;
|
|
9
7
|
var _reactNativeReanimated = require("react-native-reanimated");
|
|
10
8
|
const store = {};
|
|
11
9
|
const ensure = key => {
|
|
@@ -29,11 +27,22 @@ function getAll(key) {
|
|
|
29
27
|
function clear(routeKey) {
|
|
30
28
|
"worklet";
|
|
31
29
|
|
|
30
|
+
const bag = store[routeKey];
|
|
31
|
+
if (bag) {
|
|
32
|
+
(0, _reactNativeReanimated.cancelAnimation)(bag.progress);
|
|
33
|
+
(0, _reactNativeReanimated.cancelAnimation)(bag.closing);
|
|
34
|
+
(0, _reactNativeReanimated.cancelAnimation)(bag.animating);
|
|
35
|
+
}
|
|
32
36
|
delete store[routeKey];
|
|
33
37
|
}
|
|
38
|
+
function debugStoreSize() {
|
|
39
|
+
console.log("[AnimationStore] Size:", Object.keys(store).length);
|
|
40
|
+
console.log("[AnimationStore] Keys:", Object.keys(store));
|
|
41
|
+
}
|
|
34
42
|
const AnimationStore = exports.AnimationStore = {
|
|
35
43
|
getAnimation,
|
|
36
44
|
clear,
|
|
37
|
-
getAll
|
|
45
|
+
getAll,
|
|
46
|
+
debugStoreSize
|
|
38
47
|
};
|
|
39
48
|
//# sourceMappingURL=animation-store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeReanimated","require","store","ensure","key","bag","progress","makeMutable","closing","animating","getAnimation","type","getAll","clear","routeKey","AnimationStore","exports"],"sourceRoot":"../../../../src","sources":["shared/stores/animation-store.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_reactNativeReanimated","require","store","ensure","key","bag","progress","makeMutable","closing","animating","getAnimation","type","getAll","clear","routeKey","cancelAnimation","debugStoreSize","console","log","Object","keys","length","AnimationStore","exports"],"sourceRoot":"../../../../src","sources":["shared/stores/animation-store.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAaA,MAAMC,KAA2C,GAAG,CAAC,CAAC;AAEtD,MAAMC,MAAM,GAAIC,GAAc,IAAK;EAClC,IAAIC,GAAG,GAAGH,KAAK,CAACE,GAAG,CAAC;EACpB,IAAI,CAACC,GAAG,EAAE;IACTA,GAAG,GAAG;MACLC,QAAQ,EAAE,IAAAC,kCAAW,EAAC,CAAC,CAAC;MACxBC,OAAO,EAAE,IAAAD,kCAAW,EAAC,CAAC,CAAC;MACvBE,SAAS,EAAE,IAAAF,kCAAW,EAAC,CAAC;IACzB,CAAC;IACDL,KAAK,CAACE,GAAG,CAAC,GAAGC,GAAG;EACjB;EACA,OAAOA,GAAG;AACX,CAAC;AAED,SAASK,YAAYA,CACpBN,GAAc,EACdO,IAA0C,EACpB;EACtB,OAAOR,MAAM,CAACC,GAAG,CAAC,CAACO,IAAI,CAAC;AACzB;AAEA,SAASC,MAAMA,CAACR,GAAc,EAAE;EAC/B,OAAOD,MAAM,CAACC,GAAG,CAAC;AACnB;AAEA,SAASS,KAAKA,CAACC,QAAmB,EAAE;EACnC,SAAS;;EACT,MAAMT,GAAG,GAAGH,KAAK,CAACY,QAAQ,CAAC;EAC3B,IAAIT,GAAG,EAAE;IACR,IAAAU,sCAAe,EAACV,GAAG,CAACC,QAAQ,CAAC;IAC7B,IAAAS,sCAAe,EAACV,GAAG,CAACG,OAAO,CAAC;IAC5B,IAAAO,sCAAe,EAACV,GAAG,CAACI,SAAS,CAAC;EAC/B;EACA,OAAOP,KAAK,CAACY,QAAQ,CAAC;AACvB;AAEA,SAASE,cAAcA,CAAA,EAAG;EACzBC,OAAO,CAACC,GAAG,CAAC,wBAAwB,EAAEC,MAAM,CAACC,IAAI,CAAClB,KAAK,CAAC,CAACmB,MAAM,CAAC;EAChEJ,OAAO,CAACC,GAAG,CAAC,wBAAwB,EAAEC,MAAM,CAACC,IAAI,CAAClB,KAAK,CAAC,CAAC;AAC1D;AAEO,MAAMoB,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG;EAC7BZ,YAAY;EACZG,KAAK;EACLD,MAAM;EACNI;AACD,CAAC","ignoreList":[]}
|
|
@@ -93,6 +93,16 @@ function clear(routeKey) {
|
|
|
93
93
|
return state;
|
|
94
94
|
});
|
|
95
95
|
}
|
|
96
|
+
function debugBoundStore() {
|
|
97
|
+
"worklet";
|
|
98
|
+
|
|
99
|
+
console.log("[BoundStore] registry keys:", Object.keys(registry.value));
|
|
100
|
+
console.log("[BoundStore] registry size:", Object.keys(registry.value).length);
|
|
101
|
+
console.log("[BoundStore] pairCache keys:", Object.keys(pairCache.value));
|
|
102
|
+
console.log("[BoundStore] pairCache size:", Object.keys(pairCache.value).length);
|
|
103
|
+
console.log("[BoundStore] lastActiveByRoute keys:", Object.keys(lastActiveByRoute.value));
|
|
104
|
+
console.log("[BoundStore] lastActiveByRoute size:", Object.keys(lastActiveByRoute.value).length);
|
|
105
|
+
}
|
|
96
106
|
function getActiveBound(current, next, previous) {
|
|
97
107
|
"worklet";
|
|
98
108
|
|
|
@@ -111,6 +121,7 @@ const BoundStore = exports.BoundStore = {
|
|
|
111
121
|
setRouteActive,
|
|
112
122
|
getRouteActive,
|
|
113
123
|
clear,
|
|
114
|
-
getActiveBound
|
|
124
|
+
getActiveBound,
|
|
125
|
+
debugBoundStore
|
|
115
126
|
};
|
|
116
127
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeReanimated","require","_utils","registry","makeMutable","pairCache","lastActiveByRoute","setBounds","screenId","boundId","bounds","styles","modify","state","getBounds","value","setRouteActive","routeKey","getRouteActive","setPairCache","fromKey","toKey","key","pairKey","getPairCache","clear","keys","Object","i","length","k","from","to","split","getActiveBound","current","next","previous","resolveActiveBound","BoundStore","exports"],"sourceRoot":"../../../../../src","sources":["shared/stores/bound-store/index.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["_reactNativeReanimated","require","_utils","registry","makeMutable","pairCache","lastActiveByRoute","setBounds","screenId","boundId","bounds","styles","modify","state","getBounds","value","setRouteActive","routeKey","getRouteActive","setPairCache","fromKey","toKey","key","pairKey","getPairCache","clear","keys","Object","i","length","k","from","to","split","debugBoundStore","console","log","getActiveBound","current","next","previous","resolveActiveBound","BoundStore","exports"],"sourceRoot":"../../../../../src","sources":["shared/stores/bound-store/index.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAQA,IAAAC,MAAA,GAAAD,OAAA;AAOA,MAAME,QAAQ,GAAG,IAAAC,kCAAW,EAAa,CAAC,CAAC,CAAC;AAC5C,MAAMC,SAAS,GAAG,IAAAD,kCAAW,EAAyB,CAAC,CAAC,CAAC;AACzD,MAAME,iBAAiB,GAAG,IAAAF,kCAAW,EAAyB,CAAC,CAAC,CAAC;AAEjE,SAASG,SAASA,CACjBC,QAAgB,EAChBC,OAAe,EACfC,MAAiC,GAAG,IAAI,EACxCC,MAAkB,GAAG,CAAC,CAAC,EACtB;EACD,SAAS;;EACTR,QAAQ,CAACS,MAAM,CAAEC,KAAU,IAAK;IAC/B,SAAS;;IACT,IAAI,CAACA,KAAK,CAACL,QAAQ,CAAC,EAAE;MACrBK,KAAK,CAACL,QAAQ,CAAC,GAAG,CAAC,CAAC;IACrB;IACAK,KAAK,CAACL,QAAQ,CAAC,CAACC,OAAO,CAAC,GAAG;MAAEC,MAAM;MAAEC;IAAO,CAAC;IAE7C,OAAOE,KAAK;EACb,CAAC,CAAC;AACH;AAEA,SAASC,SAASA,CAACN,QAAgB,EAAE;EACpC,SAAS;;EACT,OAAOL,QAAQ,CAACY,KAAK,CAACP,QAAQ,CAAC,IAAI,CAAC,CAAC;AACtC;AAEA,SAASQ,cAAcA,CAACC,QAAgB,EAAER,OAAe,EAAE;EAC1D,SAAS;;EACTH,iBAAiB,CAACM,MAAM,CAAEC,KAAU,IAAK;IACxC,SAAS;;IACTA,KAAK,CAACI,QAAQ,CAAC,GAAGR,OAAO;IACzB,OAAOI,KAAK;EACb,CAAC,CAAC;AACH;AAEA,SAASK,cAAcA,CAACD,QAAgB,EAAE;EACzC,SAAS;;EACT,OAAOX,iBAAiB,CAACS,KAAK,CAACE,QAAQ,CAAC,IAAI,IAAI;AACjD;AAEA,SAASE,YAAYA,CAACC,OAAe,EAAEC,KAAa,EAAEZ,OAAe,EAAE;EACtE,SAAS;;EACT,MAAMa,GAAG,GAAG,IAAAC,cAAO,EAACH,OAAO,EAAEC,KAAK,CAAC;EACnC,IAAI,CAACC,GAAG,EAAE;EACVjB,SAAS,CAACO,MAAM,CAAEC,KAAU,IAAK;IAChC,SAAS;;IACTA,KAAK,CAACS,GAAG,CAAC,GAAGb,OAAO;IACpB,OAAOI,KAAK;EACb,CAAC,CAAC;AACH;AAEA,SAASW,YAAYA,CAACJ,OAAe,EAAEC,KAAa,EAAE;EACrD,SAAS;;EACT,MAAMC,GAAG,GAAG,IAAAC,cAAO,EAACH,OAAO,EAAEC,KAAK,CAAC;EACnC,IAAI,CAACC,GAAG,EAAE,OAAO,IAAI;EACrB,OAAOjB,SAAS,CAACU,KAAK,CAACO,GAAG,CAAC,IAAI,IAAI;AACpC;AAEA,SAASG,KAAKA,CAACR,QAAmB,EAAE;EACnC,SAAS;;EACTd,QAAQ,CAACS,MAAM,CAAEC,KAAK,IAAK;IAC1B,SAAS;;IACT,OAAOA,KAAK,CAACI,QAAQ,CAAC;IACtB,OAAOJ,KAAK;EACb,CAAC,CAAC;EACFP,iBAAiB,CAACM,MAAM,CAAEC,KAAK,IAAK;IACnC,SAAS;;IACT,IAAIA,KAAK,CAACI,QAAQ,CAAC,EAAE,OAAOJ,KAAK,CAACI,QAAQ,CAAC;IAC3C,OAAOJ,KAAK;EACb,CAAC,CAAC;EAEFR,SAAS,CAACO,MAAM,CAAEC,KAAK,IAAK;IAC3B,SAAS;;IACT,MAAMa,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACb,KAAK,CAAC;IAC/B,KAAK,IAAIe,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,IAAI,CAACG,MAAM,EAAED,CAAC,EAAE,EAAE;MACrC,MAAME,CAAC,GAAGJ,IAAI,CAACE,CAAC,CAAC;MACjB,MAAM,CAACG,IAAI,EAAEC,EAAE,CAAC,GAAGF,CAAC,CAACG,KAAK,CAAC,GAAG,CAAC;MAC/B,IAAIF,IAAI,KAAKd,QAAQ,IAAIe,EAAE,KAAKf,QAAQ,EAAE;QACzC,OAAOJ,KAAK,CAACiB,CAAC,CAAC;MAChB;IACD;IACA,OAAOjB,KAAK;EACb,CAAC,CAAC;AACH;AAEA,SAASqB,eAAeA,CAAA,EAAG;EAC1B,SAAS;;EACTC,OAAO,CAACC,GAAG,CAAC,6BAA6B,EAAET,MAAM,CAACD,IAAI,CAACvB,QAAQ,CAACY,KAAK,CAAC,CAAC;EACvEoB,OAAO,CAACC,GAAG,CACV,6BAA6B,EAC7BT,MAAM,CAACD,IAAI,CAACvB,QAAQ,CAACY,KAAK,CAAC,CAACc,MAC7B,CAAC;EACDM,OAAO,CAACC,GAAG,CAAC,8BAA8B,EAAET,MAAM,CAACD,IAAI,CAACrB,SAAS,CAACU,KAAK,CAAC,CAAC;EACzEoB,OAAO,CAACC,GAAG,CACV,8BAA8B,EAC9BT,MAAM,CAACD,IAAI,CAACrB,SAAS,CAACU,KAAK,CAAC,CAACc,MAC9B,CAAC;EACDM,OAAO,CAACC,GAAG,CACV,sCAAsC,EACtCT,MAAM,CAACD,IAAI,CAACpB,iBAAiB,CAACS,KAAK,CACpC,CAAC;EACDoB,OAAO,CAACC,GAAG,CACV,sCAAsC,EACtCT,MAAM,CAACD,IAAI,CAACpB,iBAAiB,CAACS,KAAK,CAAC,CAACc,MACtC,CAAC;AACF;AAEA,SAASQ,cAAcA,CACtBC,OAA8B,EAC9BC,IAAuC,EACvCC,QAA2C,EAC1C;EACD,SAAS;;EACT,OAAO,IAAAC,yBAAkB,EAAC;IACzBH,OAAO;IACPC,IAAI;IACJC,QAAQ;IACRhB,YAAY;IACZL,YAAY;IACZD;EACD,CAAC,CAAC;AACH;AAEO,MAAMwB,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG;EACzBnC,SAAS;EACTO,SAAS;EACTE,cAAc;EACdE,cAAc;EACdO,KAAK;EACLY,cAAc;EACdH;AACD,CAAC","ignoreList":[]}
|
|
@@ -29,6 +29,16 @@ function getRouteGestures(routeKey) {
|
|
|
29
29
|
return ensure(routeKey);
|
|
30
30
|
}
|
|
31
31
|
function clear(routeKey) {
|
|
32
|
+
const bag = store[routeKey];
|
|
33
|
+
if (bag) {
|
|
34
|
+
(0, _reactNativeReanimated.cancelAnimation)(bag.x);
|
|
35
|
+
(0, _reactNativeReanimated.cancelAnimation)(bag.y);
|
|
36
|
+
(0, _reactNativeReanimated.cancelAnimation)(bag.normalizedX);
|
|
37
|
+
(0, _reactNativeReanimated.cancelAnimation)(bag.normalizedY);
|
|
38
|
+
(0, _reactNativeReanimated.cancelAnimation)(bag.isDismissing);
|
|
39
|
+
(0, _reactNativeReanimated.cancelAnimation)(bag.isDragging);
|
|
40
|
+
(0, _reactNativeReanimated.cancelAnimation)(bag.direction);
|
|
41
|
+
}
|
|
32
42
|
delete store[routeKey];
|
|
33
43
|
}
|
|
34
44
|
const GestureStore = exports.GestureStore = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeReanimated","require","store","ensure","routeKey","bag","x","makeMutable","y","normalizedX","normalizedY","isDismissing","isDragging","direction","getGesture","gestureKey","getRouteGestures","clear","GestureStore","exports"],"sourceRoot":"../../../../src","sources":["shared/stores/gesture-store.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_reactNativeReanimated","require","store","ensure","routeKey","bag","x","makeMutable","y","normalizedX","normalizedY","isDismissing","isDragging","direction","getGesture","gestureKey","getRouteGestures","clear","cancelAnimation","GestureStore","exports"],"sourceRoot":"../../../../src","sources":["shared/stores/gesture-store.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AA0BA,MAAMC,KAAyC,GAAG,CAAC,CAAC;AAEpD,SAASC,MAAMA,CAACC,QAAmB,EAAmB;EACrD,IAAIC,GAAG,GAAGH,KAAK,CAACE,QAAQ,CAAC;EACzB,IAAI,CAACC,GAAG,EAAE;IACTA,GAAG,GAAG;MACLC,CAAC,EAAE,IAAAC,kCAAW,EAAC,CAAC,CAAC;MACjBC,CAAC,EAAE,IAAAD,kCAAW,EAAC,CAAC,CAAC;MACjBE,WAAW,EAAE,IAAAF,kCAAW,EAAC,CAAC,CAAC;MAC3BG,WAAW,EAAE,IAAAH,kCAAW,EAAC,CAAC,CAAC;MAC3BI,YAAY,EAAE,IAAAJ,kCAAW,EAAC,CAAC,CAAC;MAC5BK,UAAU,EAAE,IAAAL,kCAAW,EAAC,CAAC,CAAC;MAC1BM,SAAS,EAAE,IAAAN,kCAAW,EACrB,IACD;IACD,CAAC;IACDL,KAAK,CAACE,QAAQ,CAAC,GAAGC,GAAG;EACtB;EACA,OAAOA,GAAG;AACX;AAEA,SAASS,UAAUA,CAACV,QAAmB,EAAEW,UAAsB,EAAE;EAChE,OAAOZ,MAAM,CAACC,QAAQ,CAAC,CAACW,UAAU,CAAC;AACpC;AAEA,SAASC,gBAAgBA,CAACZ,QAAmB,EAAE;EAC9C,OAAOD,MAAM,CAACC,QAAQ,CAAC;AACxB;AAEA,SAASa,KAAKA,CAACb,QAAmB,EAAE;EACnC,MAAMC,GAAG,GAAGH,KAAK,CAACE,QAAQ,CAAC;EAC3B,IAAIC,GAAG,EAAE;IACR,IAAAa,sCAAe,EAACb,GAAG,CAACC,CAAC,CAAC;IACtB,IAAAY,sCAAe,EAACb,GAAG,CAACG,CAAC,CAAC;IACtB,IAAAU,sCAAe,EAACb,GAAG,CAACI,WAAW,CAAC;IAChC,IAAAS,sCAAe,EAACb,GAAG,CAACK,WAAW,CAAC;IAChC,IAAAQ,sCAAe,EAACb,GAAG,CAACM,YAAY,CAAC;IACjC,IAAAO,sCAAe,EAACb,GAAG,CAACO,UAAU,CAAC;IAC/B,IAAAM,sCAAe,EAACb,GAAG,CAACQ,SAAS,CAAC;EAC/B;EACA,OAAOX,KAAK,CAACE,QAAQ,CAAC;AACvB;AAEO,MAAMe,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG;EAC3BL,UAAU;EACVE,gBAAgB;EAChBC;AACD,CAAC","ignoreList":[]}
|
|
@@ -4,10 +4,10 @@ import { NavigationContext, NavigationRouteContext } from "@react-navigation/nat
|
|
|
4
4
|
import { useMemo } from "react";
|
|
5
5
|
import { Animated, StyleSheet, View } from "react-native";
|
|
6
6
|
import { useSafeAreaInsets } from "react-native-safe-area-context";
|
|
7
|
+
import { useScreenAnimation } from "../../shared/hooks/animation/use-screen-animation";
|
|
7
8
|
import { KeysProvider, useKeys } from "../../shared/providers/keys";
|
|
8
9
|
import { useOverlayAnimation } from "../hooks/use-overlay-animation";
|
|
9
10
|
import { useStackNavigationContext } from "../utils/with-stack-navigation";
|
|
10
|
-
import { useScreenAnimation } from "../../shared/hooks/animation/use-screen-animation";
|
|
11
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
12
|
const getActiveFloatOverlay = (scenes, index) => {
|
|
13
13
|
if (scenes.length === 0) {
|
|
@@ -41,12 +41,27 @@ const OverlayHost = ({
|
|
|
41
41
|
overlayAnimation,
|
|
42
42
|
optimisticActiveIndex
|
|
43
43
|
} = useOverlayAnimation();
|
|
44
|
+
const {
|
|
45
|
+
scenes
|
|
46
|
+
} = useStackNavigationContext();
|
|
47
|
+
const overlaySceneIndex = useMemo(() => {
|
|
48
|
+
return scenes.findIndex(stackScene => stackScene.route.key === scene.route.key);
|
|
49
|
+
}, [scenes, scene.route.key]);
|
|
50
|
+
const focusedRoute = useMemo(() => {
|
|
51
|
+
if (overlaySceneIndex === -1) {
|
|
52
|
+
return scene.route;
|
|
53
|
+
}
|
|
54
|
+
const maxOffset = Math.max(scenes.length - overlaySceneIndex - 1, 0);
|
|
55
|
+
const normalizedIndex = Math.min(Math.max(optimisticActiveIndex, 0), maxOffset);
|
|
56
|
+
return scenes[overlaySceneIndex + normalizedIndex]?.route ?? scene.route;
|
|
57
|
+
}, [overlaySceneIndex, optimisticActiveIndex, scenes, scene.route]);
|
|
44
58
|
const screenAnimation = useScreenAnimation();
|
|
45
59
|
if (!OverlayComponent) {
|
|
46
60
|
return null;
|
|
47
61
|
}
|
|
48
62
|
const overlayProps = {
|
|
49
63
|
route: scene.route,
|
|
64
|
+
focusedRoute,
|
|
50
65
|
navigation: scene.descriptor.navigation,
|
|
51
66
|
overlayAnimation,
|
|
52
67
|
screenAnimation,
|
|
@@ -55,7 +70,9 @@ const OverlayHost = ({
|
|
|
55
70
|
};
|
|
56
71
|
return /*#__PURE__*/_jsx(Animated.View, {
|
|
57
72
|
pointerEvents: "box-none",
|
|
58
|
-
style: [styles.container, isFloating ? styles.floating :
|
|
73
|
+
style: [styles.container, isFloating ? styles.floating : {
|
|
74
|
+
zIndex: 1
|
|
75
|
+
}, styles.absolute],
|
|
59
76
|
children: /*#__PURE__*/_jsx(NavigationContext.Provider, {
|
|
60
77
|
value: scene.descriptor.navigation,
|
|
61
78
|
children: /*#__PURE__*/_jsx(NavigationRouteContext.Provider, {
|
|
@@ -98,9 +115,6 @@ const FloatOverlay = () => {
|
|
|
98
115
|
});
|
|
99
116
|
};
|
|
100
117
|
const ScreenOverlay = () => {
|
|
101
|
-
const {
|
|
102
|
-
focusedIndex
|
|
103
|
-
} = useStackNavigationContext();
|
|
104
118
|
const {
|
|
105
119
|
current
|
|
106
120
|
} = useKeys();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NavigationContext","NavigationRouteContext","useMemo","Animated","StyleSheet","View","useSafeAreaInsets","KeysProvider","useKeys","useOverlayAnimation","useStackNavigationContext","
|
|
1
|
+
{"version":3,"names":["NavigationContext","NavigationRouteContext","useMemo","Animated","StyleSheet","View","useSafeAreaInsets","useScreenAnimation","KeysProvider","useKeys","useOverlayAnimation","useStackNavigationContext","jsx","_jsx","getActiveFloatOverlay","scenes","index","length","startIndex","Math","max","i","scene","options","descriptor","overlayMode","overlayShown","overlayIndex","OverlayHost","isFloating","insets","OverlayComponent","overlay","overlayAnimation","optimisticActiveIndex","overlaySceneIndex","findIndex","stackScene","route","key","focusedRoute","maxOffset","normalizedIndex","min","screenAnimation","overlayProps","navigation","focusedIndex","pointerEvents","style","styles","container","floating","zIndex","absolute","children","Provider","value","FloatOverlay","activeOverlay","previous","current","next","ScreenOverlay","Overlay","Float","Screen","create","absoluteFillObject","flex"],"sourceRoot":"../../../../src","sources":["blank-stack/components/Overlay.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,7 +13,7 @@ const AnimatedScreen = Animated.createAnimatedComponent(RNSScreen);
|
|
|
13
13
|
export const Screen = ({
|
|
14
14
|
routeKey,
|
|
15
15
|
index,
|
|
16
|
-
|
|
16
|
+
routesLength,
|
|
17
17
|
isPreloaded,
|
|
18
18
|
activeScreensLimit,
|
|
19
19
|
children,
|
|
@@ -27,10 +27,10 @@ export const Screen = ({
|
|
|
27
27
|
screenActivity.value = STATE_TRANSITIONING_OR_BELOW_TOP;
|
|
28
28
|
return;
|
|
29
29
|
}
|
|
30
|
-
if (index <
|
|
30
|
+
if (index < routesLength - activeScreensLimit - 1 || isPreloaded) {
|
|
31
31
|
screenActivity.value = STATE_INACTIVE;
|
|
32
32
|
} else {
|
|
33
|
-
const outputValue = index ===
|
|
33
|
+
const outputValue = index === routesLength - 1 ? STATE_ON_TOP : index >= routesLength - activeScreensLimit ? STATE_TRANSITIONING_OR_BELOW_TOP : STATE_INACTIVE;
|
|
34
34
|
const v = interpolate(sceneProgress.value, [0, 1 - EPSILON, 1], [1, 1, outputValue], "clamp");
|
|
35
35
|
const next = Math.trunc(v) ?? STATE_TRANSITIONING_OR_BELOW_TOP;
|
|
36
36
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","Animated","interpolate","useAnimatedProps","useDerivedValue","useSharedValue","Screen","RNSScreen","AnimationStore","jsx","_jsx","EPSILON","STATE_INACTIVE","STATE_TRANSITIONING_OR_BELOW_TOP","STATE_ON_TOP","AnimatedScreen","createAnimatedComponent","routeKey","index","
|
|
1
|
+
{"version":3,"names":["StyleSheet","Animated","interpolate","useAnimatedProps","useDerivedValue","useSharedValue","Screen","RNSScreen","AnimationStore","jsx","_jsx","EPSILON","STATE_INACTIVE","STATE_TRANSITIONING_OR_BELOW_TOP","STATE_ON_TOP","AnimatedScreen","createAnimatedComponent","routeKey","index","routesLength","isPreloaded","activeScreensLimit","children","freezeOnBlur","shouldFreeze","sceneProgress","getAnimation","screenActivity","value","outputValue","v","next","Math","trunc","animatedProps","activityState","enabled","style","absoluteFill","pointerEvents"],"sourceRoot":"../../../../src","sources":["blank-stack/components/Screens.tsx"],"mappings":";;AAEA,SAASA,UAAU,QAAQ,cAAc;AACzC,OAAOC,QAAQ,IACdC,WAAW,EACXC,gBAAgB,EAChBC,eAAe,EACfC,cAAc,QACR,yBAAyB;AAChC,SAASC,MAAM,IAAIC,SAAS,QAAQ,sBAAsB;AAC1D,SAASC,cAAc,QAAQ,qCAAqC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAarE,MAAMC,OAAO,GAAG,IAAI;AAEpB,MAAMC,cAAc,GAAG,CAAC;AACxB,MAAMC,gCAAgC,GAAG,CAAC;AAC1C,MAAMC,YAAY,GAAG,CAAC;AAEtB,MAAMC,cAAc,GAAGd,QAAQ,CAACe,uBAAuB,CAACT,SAAS,CAAC;AAElE,OAAO,MAAMD,MAAM,GAAGA,CAAC;EACtBW,QAAQ;EACRC,KAAK;EACLC,YAAY;EACZC,WAAW;EACXC,kBAAkB;EAClBC,QAAQ;EACRC,YAAY;EACZC;AACY,CAAC,KAAK;EAClB,MAAMC,aAAa,GAAGjB,cAAc,CAACkB,YAAY,CAACT,QAAQ,EAAE,UAAU,CAAC;EACvE,MAAMU,cAAc,GAAGtB,cAAc,CAAY,CAAC,CAAC;EAEnDD,eAAe,CAAC,MAAM;IACrB,IAAI,CAACqB,aAAa,EAAE;MACnBE,cAAc,CAACC,KAAK,GAAGf,gCAAgC;MACvD;IACD;IAEA,IAAIK,KAAK,GAAGC,YAAY,GAAGE,kBAAkB,GAAG,CAAC,IAAID,WAAW,EAAE;MACjEO,cAAc,CAACC,KAAK,GAAGhB,cAAc;IACtC,CAAC,MAAM;MACN,MAAMiB,WAAW,GAChBX,KAAK,KAAKC,YAAY,GAAG,CAAC,GACvBL,YAAY,GACZI,KAAK,IAAIC,YAAY,GAAGE,kBAAkB,GACzCR,gCAAgC,GAChCD,cAAc;MAEnB,MAAMkB,CAAC,GAAG5B,WAAW,CACpBuB,aAAa,CAACG,KAAK,EACnB,CAAC,CAAC,EAAE,CAAC,GAAGjB,OAAO,EAAE,CAAC,CAAC,EACnB,CAAC,CAAC,EAAE,CAAC,EAAEkB,WAAW,CAAC,EACnB,OACD,CAAC;MAED,MAAME,IAAI,GACRC,IAAI,CAACC,KAAK,CAACH,CAAC,CAAC,IAAkBjB,gCAAgC;;MAEjE;MACA,IAAIkB,IAAI,KAAKJ,cAAc,CAACC,KAAK,EAAE;QAClCD,cAAc,CAACC,KAAK,GAAGG,IAAI;MAC5B;IACD;EACD,CAAC,CAAC;EAEF,MAAMG,aAAa,GAAG/B,gBAAgB,CAAC,MAAM;IAC5C,OAAO;MACNgC,aAAa,EAAER,cAAc,CAACC,KAAK;MACnCJ,YAAY,EAAEG,cAAc,CAACC,KAAK,KAAKhB,cAAc,IAAIY;IAC1D,CAAC;EACF,CAAC,CAAC;EAEF,oBACCd,IAAA,CAACK,cAAc;IACdqB,OAAO;IACPC,KAAK,EAAErC,UAAU,CAACsC,YAAa;IAC/BC,aAAa,EAAC,UAAU;IACxBhB,YAAY,EAAEA,YAAa;IAC3BW,aAAa,EAAEA,aAAc;IAAAZ,QAAA,EAE5BA;EAAQ,CACM,CAAC;AAEnB,CAAC","ignoreList":[]}
|
|
@@ -2,9 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
import { SafeAreaProviderCompat } from "@react-navigation/elements";
|
|
4
4
|
import { NavigationContext, NavigationRouteContext } from "@react-navigation/native";
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import { StyleSheet } from "react-native";
|
|
5
7
|
import { GestureHandlerRootView } from "react-native-gesture-handler";
|
|
6
8
|
import { ScreenContainer } from "react-native-screens";
|
|
7
9
|
import { BlankStackScreenLifecycleController } from "../../shared/components/controllers/screen-lifecycle";
|
|
10
|
+
import { BlankStackStateProvider } from "../providers/blank-stack-state";
|
|
8
11
|
import { ScreenTransitionProvider } from "../../shared/providers/screen-transition-provider";
|
|
9
12
|
import { withStackNavigationProvider } from "../utils/with-stack-navigation";
|
|
10
13
|
import { Overlay } from "./Overlay";
|
|
@@ -13,7 +16,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
13
16
|
function isFabric() {
|
|
14
17
|
return "nativeFabricUIManager" in global;
|
|
15
18
|
}
|
|
16
|
-
const SceneView = ({
|
|
19
|
+
const SceneView = /*#__PURE__*/React.memo(({
|
|
17
20
|
descriptor
|
|
18
21
|
}) => {
|
|
19
22
|
const {
|
|
@@ -28,7 +31,7 @@ const SceneView = ({
|
|
|
28
31
|
children: [descriptor.options.overlayMode === "screen" && /*#__PURE__*/_jsx(Overlay.Screen, {}), render()]
|
|
29
32
|
})
|
|
30
33
|
});
|
|
31
|
-
};
|
|
34
|
+
});
|
|
32
35
|
export const StackView = withStackNavigationProvider(({
|
|
33
36
|
activeScreensLimit,
|
|
34
37
|
descriptors,
|
|
@@ -38,46 +41,51 @@ export const StackView = withStackNavigationProvider(({
|
|
|
38
41
|
shouldShowFloatOverlay
|
|
39
42
|
}) => {
|
|
40
43
|
return /*#__PURE__*/_jsx(GestureHandlerRootView, {
|
|
41
|
-
children: /*#__PURE__*/
|
|
42
|
-
children:
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const isPreloaded = descriptors[route.key] === undefined;
|
|
44
|
+
children: /*#__PURE__*/_jsx(SafeAreaProviderCompat, {
|
|
45
|
+
children: /*#__PURE__*/_jsxs(BlankStackStateProvider, {
|
|
46
|
+
children: [shouldShowFloatOverlay ? /*#__PURE__*/_jsx(Overlay.Float, {}) : null, /*#__PURE__*/_jsx(ScreenContainer, {
|
|
47
|
+
style: styles.container,
|
|
48
|
+
children: scenes.map((scene, sceneIndex) => {
|
|
49
|
+
const descriptor = scene.descriptor;
|
|
50
|
+
const route = scene.route;
|
|
51
|
+
const isFocused = focusedIndex === sceneIndex;
|
|
52
|
+
const isBelowFocused = focusedIndex - 1 === sceneIndex;
|
|
53
|
+
const previousDescriptor = scenes[sceneIndex - 1]?.descriptor ?? undefined;
|
|
54
|
+
const nextDescriptor = scenes[sceneIndex + 1]?.descriptor ?? undefined;
|
|
55
|
+
const isPreloaded = descriptors[route.key] === undefined;
|
|
54
56
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
57
|
+
// On Fabric, when screen is frozen, animated and reanimated values are not updated
|
|
58
|
+
// due to component being unmounted. To avoid this, we don't freeze the previous screen there
|
|
59
|
+
const shouldFreeze = isFabric() ? !isPreloaded && !isFocused && !isBelowFocused : !isPreloaded && !isFocused;
|
|
60
|
+
return /*#__PURE__*/_jsx(Screen, {
|
|
61
|
+
isPreloaded: isPreloaded,
|
|
62
|
+
index: sceneIndex,
|
|
63
|
+
activeScreensLimit: activeScreensLimit,
|
|
64
|
+
routeKey: route.key,
|
|
65
|
+
routesLength: routes.length,
|
|
66
|
+
shouldFreeze: shouldFreeze,
|
|
67
|
+
freezeOnBlur: descriptor.options.freezeOnBlur,
|
|
68
|
+
children: /*#__PURE__*/_jsx(ScreenTransitionProvider, {
|
|
69
|
+
previous: previousDescriptor,
|
|
70
|
+
current: descriptor,
|
|
71
|
+
next: nextDescriptor,
|
|
72
|
+
LifecycleController: BlankStackScreenLifecycleController,
|
|
73
|
+
children: /*#__PURE__*/_jsx(SceneView, {
|
|
74
|
+
isFocused: isFocused,
|
|
75
|
+
sceneIndex: sceneIndex,
|
|
76
|
+
descriptor: descriptor
|
|
77
|
+
}, route.key)
|
|
78
|
+
})
|
|
79
|
+
}, route.key);
|
|
80
|
+
})
|
|
81
|
+
})]
|
|
82
|
+
})
|
|
80
83
|
})
|
|
81
84
|
});
|
|
82
85
|
});
|
|
86
|
+
const styles = StyleSheet.create({
|
|
87
|
+
container: {
|
|
88
|
+
flex: 1
|
|
89
|
+
}
|
|
90
|
+
});
|
|
83
91
|
//# sourceMappingURL=StackView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SafeAreaProviderCompat","NavigationContext","NavigationRouteContext","GestureHandlerRootView","ScreenContainer","BlankStackScreenLifecycleController","ScreenTransitionProvider","withStackNavigationProvider","Overlay","Screen","jsx","_jsx","jsxs","_jsxs","isFabric","global","SceneView","descriptor","route","navigation","render","Provider","value","children","options","overlayMode","StackView","activeScreensLimit","descriptors","focusedIndex","routes","scenes","shouldShowFloatOverlay","Float","style","
|
|
1
|
+
{"version":3,"names":["SafeAreaProviderCompat","NavigationContext","NavigationRouteContext","React","StyleSheet","GestureHandlerRootView","ScreenContainer","BlankStackScreenLifecycleController","BlankStackStateProvider","ScreenTransitionProvider","withStackNavigationProvider","Overlay","Screen","jsx","_jsx","jsxs","_jsxs","isFabric","global","SceneView","memo","descriptor","route","navigation","render","Provider","value","children","options","overlayMode","StackView","activeScreensLimit","descriptors","focusedIndex","routes","scenes","shouldShowFloatOverlay","Float","style","styles","container","map","scene","sceneIndex","isFocused","isBelowFocused","previousDescriptor","undefined","nextDescriptor","isPreloaded","key","shouldFreeze","index","routeKey","routesLength","length","freezeOnBlur","previous","current","next","LifecycleController","create","flex"],"sourceRoot":"../../../../src","sources":["blank-stack/components/StackView.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,12 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
import { useMemo } from "react";
|
|
4
4
|
import { useWindowDimensions } from "react-native";
|
|
5
|
-
import { useDerivedValue
|
|
5
|
+
import { useDerivedValue } from "react-native-reanimated";
|
|
6
6
|
import { useSafeAreaInsets } from "react-native-safe-area-context";
|
|
7
7
|
import { useSharedValueState } from "../../shared/hooks/use-shared-value-state";
|
|
8
8
|
import { useKeys } from "../../shared/providers/keys";
|
|
9
9
|
import { AnimationStore } from "../../shared/stores/animation-store";
|
|
10
|
-
import { GestureStore } from "../../shared/stores/gesture-store";
|
|
11
10
|
import { useStackNavigationContext } from "../utils/with-stack-navigation";
|
|
12
11
|
|
|
13
12
|
/**
|
|
@@ -20,12 +19,9 @@ export const useOverlayAnimation = () => {
|
|
|
20
19
|
current
|
|
21
20
|
} = useKeys();
|
|
22
21
|
const {
|
|
23
|
-
scenes
|
|
24
|
-
focusedIndex
|
|
22
|
+
scenes
|
|
25
23
|
} = useStackNavigationContext();
|
|
26
24
|
const routeKey = current?.route?.key;
|
|
27
|
-
const gestureState = routeKey ? GestureStore.getRouteGestures(routeKey) : null;
|
|
28
|
-
const fallbackIsDismissing = useSharedValue(0);
|
|
29
25
|
const progressValues = useMemo(() => {
|
|
30
26
|
if (!routeKey) {
|
|
31
27
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","useWindowDimensions","useDerivedValue","
|
|
1
|
+
{"version":3,"names":["useMemo","useWindowDimensions","useDerivedValue","useSafeAreaInsets","useSharedValueState","useKeys","AnimationStore","useStackNavigationContext","useOverlayAnimation","current","scenes","routeKey","route","key","progressValues","overlayIndex","findIndex","scene","slice","map","getAll","accumulatedProgress","total","i","length","progress","value","optimisticActiveIndexValue","activeIndex","isOneDismissing","Number","some","closing","optimisticIndex","optimisticActiveIndex","screen","insets","overlayAnimation","layouts"],"sourceRoot":"../../../../src","sources":["blank-stack/hooks/use-overlay-animation.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,mBAAmB,QAAQ,cAAc;AAClD,SAA4BC,eAAe,QAAQ,yBAAyB;AAC5E,SAASC,iBAAiB,QAAQ,gCAAgC;AAClE,SAASC,mBAAmB,QAAQ,2CAA2C;AAC/E,SAASC,OAAO,QAAQ,6BAA6B;AACrD,SAASC,cAAc,QAAQ,qCAAqC;AAEpE,SAASC,yBAAyB,QAAQ,gCAAgC;;AAE1E;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,GAAGA,CAAA,KAG9B;EACJ,MAAM;IAAEC;EAAQ,CAAC,GAAGJ,OAAO,CAAC,CAAC;EAC7B,MAAM;IAAEK;EAAO,CAAC,GAAGH,yBAAyB,CAAC,CAAC;EAC9C,MAAMI,QAAQ,GAAGF,OAAO,EAAEG,KAAK,EAAEC,GAAG;EAEpC,MAAMC,cAAc,GAAGd,OAAO,CAAC,MAAM;IACpC,IAAI,CAACW,QAAQ,EAAE;MACd,OAAO,EAAE;IACV;IAEA,MAAMI,YAAY,GAAGL,MAAM,CAACM,SAAS,CACnCC,KAAK,IAAKA,KAAK,CAACL,KAAK,CAACC,GAAG,KAAKF,QAChC,CAAC;IAED,IAAII,YAAY,KAAK,CAAC,CAAC,EAAE;MACxB,OAAO,EAAE;IACV;IAEA,OAAOL,MAAM,CAACQ,KAAK,CAACH,YAAY,CAAC,CAACI,GAAG,CAAEF,KAAK,IAAK;MAChD,OAAOX,cAAc,CAACc,MAAM,CAACH,KAAK,CAACL,KAAK,CAACC,GAAG,CAAC;IAC9C,CAAC,CAAC;EACH,CAAC,EAAE,CAACF,QAAQ,EAAED,MAAM,CAAC,CAAC;EAEtB,MAAMW,mBAAmB,GAAGnB,eAAe,CAAC,MAAM;IACjD,SAAS;;IAET,IAAIoB,KAAK,GAAG,CAAC;IAEb,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGT,cAAc,CAACU,MAAM,EAAED,CAAC,IAAI,CAAC,EAAE;MAClDD,KAAK,IAAIR,cAAc,CAACS,CAAC,CAAC,CAACE,QAAQ,CAACC,KAAK;IAC1C;IAEA,OAAOJ,KAAK;EACb,CAAC,EAAE,CAACR,cAAc,CAAC,CAAC;EAEpB,MAAMa,0BAA0B,GAAGzB,eAAe,CAAC,MAAM;IACxD,SAAS;;IAET,MAAM0B,WAAW,GAAGd,cAAc,CAACU,MAAM,GAAG,CAAC;IAE7C,MAAMK,eAAe,GAAGC,MAAM,CAC7BhB,cAAc,CAACiB,IAAI,CAAEL,KAAK,IAAKA,KAAK,CAACM,OAAO,CAACN,KAAK,GAAG,CAAC,CACvD,CAAC;IAED,MAAMO,eAAe,GAAGL,WAAW,GAAGC,eAAe;IAErD,OAAOI,eAAe;EACvB,CAAC,CAAC;EAEF,MAAMC,qBAAqB,GAAG9B,mBAAmB,CAACuB,0BAA0B,CAAC;EAE7E,MAAMQ,MAAM,GAAGlC,mBAAmB,CAAC,CAAC;EAEpC,MAAMmC,MAAM,GAAGjC,iBAAiB,CAAC,CAAC;EAElC,MAAMkC,gBAAgB,GAAGnC,eAAe,CAA4B,OAAO;IAC1EuB,QAAQ,EAAEJ,mBAAmB,CAACK,KAAK;IACnCY,OAAO,EAAE;MACRH;IACD,CAAC;IACDC;EACD,CAAC,CAAC,CAAC;EAEH,OAAO;IACNC,gBAAgB;IAChBH;EACD,CAAC;AACF,CAAC","ignoreList":[]}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
export { useOverlayAnimation } from "../blank-stack/hooks/use-overlay-animation";
|
|
3
4
|
export { createBlankStackNavigator } from "../blank-stack/navigators/createBlankStackNavigator";
|
|
5
|
+
export { useBlankStackState } from "./providers/blank-stack-state";
|
|
4
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createBlankStackNavigator"],"sourceRoot":"../../../src","sources":["blank-stack/index.ts"],"mappings":";;AAAA,SAASA,yBAAyB,QAAQ,qDAAqD","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useOverlayAnimation","createBlankStackNavigator","useBlankStackState"],"sourceRoot":"../../../src","sources":["blank-stack/index.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,4CAA4C;AAChF,SAASC,yBAAyB,QAAQ,qDAAqD;AAU/F,SAASC,kBAAkB,QAAQ,+BAA+B","ignoreList":[]}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
4
|
+
import { useDerivedValue } from "react-native-reanimated";
|
|
5
|
+
import { useSharedValueState } from "../../shared/hooks/use-shared-value-state";
|
|
6
|
+
import createProvider from "../../shared/providers/utils/create-provider";
|
|
7
|
+
import { AnimationStore } from "../../shared/stores/animation-store";
|
|
8
|
+
import { useStackNavigationContext } from "../utils/with-stack-navigation";
|
|
9
|
+
const {
|
|
10
|
+
useBlankStackStateContext: useBlankStackState,
|
|
11
|
+
BlankStackStateProvider
|
|
12
|
+
} = createProvider("BlankStackState", {
|
|
13
|
+
guarded: false
|
|
14
|
+
})(() => {
|
|
15
|
+
const {
|
|
16
|
+
focusedIndex,
|
|
17
|
+
routes: stackRoutes
|
|
18
|
+
} = useStackNavigationContext();
|
|
19
|
+
const [index, setIndex] = useState(0);
|
|
20
|
+
const [routes, setRoutes] = useState([]);
|
|
21
|
+
const progressValues = useMemo(() => stackRoutes.map(route => AnimationStore.getAll(route.key)), [stackRoutes]);
|
|
22
|
+
const parentIndex = useDerivedValue(() => {
|
|
23
|
+
"worklet";
|
|
24
|
+
|
|
25
|
+
const activeIndex = progressValues.length - 1;
|
|
26
|
+
const isOneDismissing = Number(progressValues.some(value => value.closing.value > 0));
|
|
27
|
+
const optimisticIndex = activeIndex - isOneDismissing;
|
|
28
|
+
return optimisticIndex;
|
|
29
|
+
}, [focusedIndex, progressValues]);
|
|
30
|
+
const parentIndexValue = useSharedValueState(parentIndex);
|
|
31
|
+
const _registerNested = useCallback((nestedIndex, nestedRoutes) => {
|
|
32
|
+
if (nestedIndex !== index) {
|
|
33
|
+
setIndex(nestedIndex);
|
|
34
|
+
}
|
|
35
|
+
if (nestedRoutes.length !== routes.length) {
|
|
36
|
+
setRoutes(nestedRoutes);
|
|
37
|
+
}
|
|
38
|
+
}, [routes.length, index]);
|
|
39
|
+
const context = useBlankStackState();
|
|
40
|
+
useEffect(() => {
|
|
41
|
+
//@ts-expect-error Internally used
|
|
42
|
+
if (context?._registerNested) {
|
|
43
|
+
//@ts-expect-error Internally used
|
|
44
|
+
context._registerNested(parentIndexValue, stackRoutes);
|
|
45
|
+
}
|
|
46
|
+
//@ts-expect-error Internally used
|
|
47
|
+
}, [parentIndexValue, context?._registerNested, stackRoutes]);
|
|
48
|
+
return {
|
|
49
|
+
value: {
|
|
50
|
+
parentIndex: parentIndexValue,
|
|
51
|
+
parentRoutes: stackRoutes,
|
|
52
|
+
index,
|
|
53
|
+
routes,
|
|
54
|
+
_registerNested
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
});
|
|
58
|
+
export { useBlankStackState, BlankStackStateProvider };
|
|
59
|
+
//# sourceMappingURL=blank-stack-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useMemo","useState","useDerivedValue","useSharedValueState","createProvider","AnimationStore","useStackNavigationContext","useBlankStackStateContext","useBlankStackState","BlankStackStateProvider","guarded","focusedIndex","routes","stackRoutes","index","setIndex","setRoutes","progressValues","map","route","getAll","key","parentIndex","activeIndex","length","isOneDismissing","Number","some","value","closing","optimisticIndex","parentIndexValue","_registerNested","nestedIndex","nestedRoutes","context","parentRoutes"],"sourceRoot":"../../../../src","sources":["blank-stack/providers/blank-stack-state.tsx"],"mappings":";;AACA,SAASA,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AACjE,SAASC,eAAe,QAAQ,yBAAyB;AACzD,SAASC,mBAAmB,QAAQ,2CAA2C;AAC/E,OAAOC,cAAc,MAAM,8CAA8C;AACzE,SAASC,cAAc,QAAQ,qCAAqC;AACpE,SAASC,yBAAyB,QAAQ,gCAAgC;AAa1E,MAAM;EACLC,yBAAyB,EAAEC,kBAAkB;EAC7CC;AACD,CAAC,GAAGL,cAAc,CAAC,iBAAiB,EAAE;EAAEM,OAAO,EAAE;AAAM,CAAC,CAAC,CAGvD,MAAM;EACP,MAAM;IAAEC,YAAY;IAAEC,MAAM,EAAEC;EAAY,CAAC,GAAGP,yBAAyB,CAAC,CAAC;EACzE,MAAM,CAACQ,KAAK,EAAEC,QAAQ,CAAC,GAAGd,QAAQ,CAAC,CAAC,CAAC;EACrC,MAAM,CAACW,MAAM,EAAEI,SAAS,CAAC,GAAGf,QAAQ,CAElC,EAAE,CAAC;EAEL,MAAMgB,cAAc,GAAGjB,OAAO,CAC7B,MAAMa,WAAW,CAACK,GAAG,CAAEC,KAAK,IAAKd,cAAc,CAACe,MAAM,CAACD,KAAK,CAACE,GAAG,CAAC,CAAC,EAClE,CAACR,WAAW,CACb,CAAC;EAED,MAAMS,WAAW,GAAGpB,eAAe,CAAC,MAAM;IACzC,SAAS;;IAET,MAAMqB,WAAW,GAAGN,cAAc,CAACO,MAAM,GAAG,CAAC;IAC7C,MAAMC,eAAe,GAAGC,MAAM,CAC7BT,cAAc,CAACU,IAAI,CAAEC,KAAK,IAAKA,KAAK,CAACC,OAAO,CAACD,KAAK,GAAG,CAAC,CACvD,CAAC;IAED,MAAME,eAAe,GAAGP,WAAW,GAAGE,eAAe;IAErD,OAAOK,eAAe;EACvB,CAAC,EAAE,CAACnB,YAAY,EAAEM,cAAc,CAAC,CAAC;EAElC,MAAMc,gBAAgB,GAAG5B,mBAAmB,CAACmB,WAAW,CAAC;EAEzD,MAAMU,eAAe,GAAGlC,WAAW,CAClC,CACCmC,WAAmB,EACnBC,YAAsD,KAClD;IACJ,IAAID,WAAW,KAAKnB,KAAK,EAAE;MAC1BC,QAAQ,CAACkB,WAAW,CAAC;IACtB;IACA,IAAIC,YAAY,CAACV,MAAM,KAAKZ,MAAM,CAACY,MAAM,EAAE;MAC1CR,SAAS,CAACkB,YAAY,CAAC;IACxB;EACD,CAAC,EACD,CAACtB,MAAM,CAACY,MAAM,EAAEV,KAAK,CACtB,CAAC;EAED,MAAMqB,OAAO,GAAG3B,kBAAkB,CAAC,CAAC;EAEpCT,SAAS,CAAC,MAAM;IACf;IACA,IAAIoC,OAAO,EAAEH,eAAe,EAAE;MAC7B;MACAG,OAAO,CAACH,eAAe,CAACD,gBAAgB,EAAElB,WAAW,CAAC;IACvD;IACA;EACD,CAAC,EAAE,CAACkB,gBAAgB,EAAEI,OAAO,EAAEH,eAAe,EAAEnB,WAAW,CAAC,CAAC;EAE7D,OAAO;IACNe,KAAK,EAAE;MACNN,WAAW,EAAES,gBAAgB;MAC7BK,YAAY,EAAEvB,WAAW;MACzBC,KAAK;MACLF,MAAM;MACNoB;IACD;EACD,CAAC;AACF,CAAC,CAAC;AAEF,SAASxB,kBAAkB,EAAEC,uBAAuB","ignoreList":[]}
|
|
@@ -353,11 +353,12 @@ export function NativeStackView({
|
|
|
353
353
|
acc[route.key] = acc[route.key] || describe(route, true);
|
|
354
354
|
return acc;
|
|
355
355
|
}, {});
|
|
356
|
+
const routes = state.routes.concat(state.preloadedRoutes);
|
|
356
357
|
return /*#__PURE__*/_jsx(GestureHandlerRootView, {
|
|
357
358
|
children: /*#__PURE__*/_jsx(SafeAreaProviderCompat, {
|
|
358
359
|
children: /*#__PURE__*/_jsx(ScreenStack, {
|
|
359
360
|
style: styles.container,
|
|
360
|
-
children:
|
|
361
|
+
children: routes.map((route, index) => {
|
|
361
362
|
const descriptor = descriptors[route.key] ?? preloadedDescriptors[route.key];
|
|
362
363
|
const isFocused = state.index === index;
|
|
363
364
|
const isBelowFocused = state.index - 1 === index;
|