react-native-screen-transitions 3.0.0-rc.2 → 3.0.0-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +421 -371
- package/lib/commonjs/blank-stack/components/{Overlay.js → overlay.js} +7 -5
- package/lib/commonjs/blank-stack/components/overlay.js.map +1 -0
- package/lib/commonjs/blank-stack/components/{Screens.js → screens.js} +8 -10
- package/lib/commonjs/blank-stack/components/screens.js.map +1 -0
- package/lib/commonjs/blank-stack/components/stack-view.js +95 -0
- package/lib/commonjs/blank-stack/components/stack-view.js.map +1 -0
- package/lib/commonjs/blank-stack/index.js +1 -8
- package/lib/commonjs/blank-stack/index.js.map +1 -1
- package/lib/commonjs/blank-stack/navigators/{createBlankStackNavigator.js → create-blank-stack-navigator.js} +3 -3
- package/lib/commonjs/blank-stack/navigators/create-blank-stack-navigator.js.map +1 -0
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.js +1 -11
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.js.map +1 -1
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/hooks/use-closing-route-keys.js +1 -12
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/hooks/use-closing-route-keys.js.map +1 -1
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.js.map +1 -1
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/index.js +49 -55
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/index.js.map +1 -1
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/{_types.js → types.js} +1 -1
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/types.js.map +1 -0
- package/lib/commonjs/shared/hooks/animation/use-screen-animation.js +38 -22
- package/lib/commonjs/shared/hooks/animation/use-screen-animation.js.map +1 -1
- package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/commonjs/shared/providers/flags.provider.js +25 -0
- package/lib/commonjs/shared/providers/flags.provider.js.map +1 -0
- package/lib/commonjs/shared/providers/register-bounds.provider.js +71 -45
- package/lib/commonjs/shared/providers/register-bounds.provider.js.map +1 -1
- package/lib/commonjs/shared/stores/bounds.store.js +91 -47
- package/lib/commonjs/shared/stores/bounds.store.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/helpers/is-bounds-equal.js +1 -1
- package/lib/commonjs/shared/utils/bounds/helpers/is-bounds-equal.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/index.js +4 -5
- package/lib/commonjs/shared/utils/bounds/index.js.map +1 -1
- package/lib/commonjs/shared/utils/create-provider.js +20 -1
- package/lib/commonjs/shared/utils/create-provider.js.map +1 -1
- package/lib/commonjs/shared/utils/reset-stores-for-screen.js +2 -0
- package/lib/commonjs/shared/utils/reset-stores-for-screen.js.map +1 -1
- package/lib/module/blank-stack/components/{Overlay.js → overlay.js} +7 -5
- package/lib/module/blank-stack/components/overlay.js.map +1 -0
- package/lib/module/blank-stack/components/{Screens.js → screens.js} +8 -10
- package/lib/module/blank-stack/components/screens.js.map +1 -0
- package/lib/module/blank-stack/components/stack-view.js +90 -0
- package/lib/module/blank-stack/components/stack-view.js.map +1 -0
- package/lib/module/blank-stack/index.js +1 -2
- package/lib/module/blank-stack/index.js.map +1 -1
- package/lib/module/blank-stack/navigators/{createBlankStackNavigator.js → create-blank-stack-navigator.js} +2 -2
- package/lib/module/blank-stack/navigators/create-blank-stack-navigator.js.map +1 -0
- package/lib/module/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.js +1 -11
- package/lib/module/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.js.map +1 -1
- package/lib/module/blank-stack/utils/with-stack-navigation/hooks/use-closing-route-keys.js +1 -12
- package/lib/module/blank-stack/utils/with-stack-navigation/hooks/use-closing-route-keys.js.map +1 -1
- package/lib/module/blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.js.map +1 -1
- package/lib/module/blank-stack/utils/with-stack-navigation/index.js +48 -54
- package/lib/module/blank-stack/utils/with-stack-navigation/index.js.map +1 -1
- package/lib/module/blank-stack/utils/with-stack-navigation/types.js +4 -0
- package/lib/module/blank-stack/utils/with-stack-navigation/types.js.map +1 -0
- package/lib/module/shared/hooks/animation/use-screen-animation.js +38 -22
- package/lib/module/shared/hooks/animation/use-screen-animation.js.map +1 -1
- package/lib/module/shared/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/module/shared/providers/flags.provider.js +19 -0
- package/lib/module/shared/providers/flags.provider.js.map +1 -0
- package/lib/module/shared/providers/register-bounds.provider.js +71 -45
- package/lib/module/shared/providers/register-bounds.provider.js.map +1 -1
- package/lib/module/shared/stores/bounds.store.js +91 -47
- package/lib/module/shared/stores/bounds.store.js.map +1 -1
- package/lib/module/shared/utils/bounds/helpers/is-bounds-equal.js +1 -1
- package/lib/module/shared/utils/bounds/helpers/is-bounds-equal.js.map +1 -1
- package/lib/module/shared/utils/bounds/index.js +4 -5
- package/lib/module/shared/utils/bounds/index.js.map +1 -1
- package/lib/module/shared/utils/create-provider.js +20 -1
- package/lib/module/shared/utils/create-provider.js.map +1 -1
- package/lib/module/shared/utils/reset-stores-for-screen.js +2 -0
- package/lib/module/shared/utils/reset-stores-for-screen.js.map +1 -1
- package/lib/typescript/blank-stack/components/{Overlay.d.ts → overlay.d.ts} +1 -1
- package/lib/typescript/blank-stack/components/overlay.d.ts.map +1 -0
- package/lib/typescript/blank-stack/components/{Screens.d.ts → screens.d.ts} +1 -1
- package/lib/typescript/blank-stack/components/{Screens.d.ts.map → screens.d.ts.map} +1 -1
- package/lib/typescript/blank-stack/components/stack-view.d.ts +3 -0
- package/lib/typescript/blank-stack/components/stack-view.d.ts.map +1 -0
- package/lib/typescript/blank-stack/index.d.ts +1 -2
- package/lib/typescript/blank-stack/index.d.ts.map +1 -1
- package/lib/typescript/blank-stack/navigators/{createBlankStackNavigator.d.ts → create-blank-stack-navigator.d.ts} +1 -1
- package/lib/typescript/blank-stack/navigators/create-blank-stack-navigator.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/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.d.ts.map +1 -1
- package/lib/typescript/blank-stack/utils/with-stack-navigation/hooks/use-closing-route-keys.d.ts.map +1 -1
- package/lib/typescript/blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.d.ts +1 -1
- package/lib/typescript/blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.d.ts.map +1 -1
- package/lib/typescript/blank-stack/utils/with-stack-navigation/index.d.ts +3 -5
- package/lib/typescript/blank-stack/utils/with-stack-navigation/index.d.ts.map +1 -1
- package/lib/typescript/blank-stack/utils/with-stack-navigation/{_types.d.ts → types.d.ts} +1 -1
- package/lib/typescript/blank-stack/utils/with-stack-navigation/types.d.ts.map +1 -0
- package/lib/typescript/shared/hooks/animation/use-screen-animation.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts.map +1 -1
- package/lib/typescript/shared/index.d.ts +20 -20
- package/lib/typescript/shared/providers/flags.provider.d.ts +10 -0
- package/lib/typescript/shared/providers/flags.provider.d.ts.map +1 -0
- package/lib/typescript/shared/providers/register-bounds.provider.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds.store.d.ts +23 -11
- package/lib/typescript/shared/stores/bounds.store.d.ts.map +1 -1
- package/lib/typescript/shared/types/bounds.types.d.ts +2 -2
- package/lib/typescript/shared/types/bounds.types.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/index.d.ts.map +1 -1
- package/lib/typescript/shared/utils/create-provider.d.ts +2 -2
- package/lib/typescript/shared/utils/create-provider.d.ts.map +1 -1
- package/lib/typescript/shared/utils/reset-stores-for-screen.d.ts.map +1 -1
- package/package.json +2 -1
- package/src/blank-stack/components/{Overlay.tsx → overlay.tsx} +4 -3
- package/src/blank-stack/components/{Screens.tsx → screens.tsx} +7 -9
- package/src/blank-stack/components/stack-view.tsx +104 -0
- package/src/blank-stack/index.ts +1 -2
- package/src/blank-stack/navigators/{createBlankStackNavigator.tsx → create-blank-stack-navigator.tsx} +1 -1
- package/src/blank-stack/types.ts +5 -7
- package/src/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.ts +1 -8
- package/src/blank-stack/utils/with-stack-navigation/hooks/use-closing-route-keys.tsx +1 -12
- package/src/blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.tsx +1 -1
- package/src/blank-stack/utils/with-stack-navigation/index.tsx +42 -62
- package/src/shared/__tests__/bounds.store.test.ts +398 -167
- package/src/shared/__tests__/determine-dismissal.test.ts +2 -12
- package/src/shared/__tests__/geometry.test.ts +1 -1
- package/src/shared/__tests__/gesture.velocity.test.ts +2 -10
- package/src/shared/hooks/animation/use-screen-animation.tsx +55 -29
- package/src/shared/hooks/gestures/use-build-gestures.tsx +4 -1
- package/src/shared/providers/flags.provider.tsx +21 -0
- package/src/shared/providers/register-bounds.provider.tsx +85 -54
- package/src/shared/stores/bounds.store.ts +90 -54
- package/src/shared/types/bounds.types.ts +2 -2
- package/src/shared/utils/bounds/helpers/is-bounds-equal.ts +1 -1
- package/src/shared/utils/bounds/index.ts +7 -10
- package/src/shared/utils/create-provider.tsx +35 -1
- package/src/shared/utils/reset-stores-for-screen.ts +2 -0
- package/lib/commonjs/blank-stack/components/Overlay.js.map +0 -1
- package/lib/commonjs/blank-stack/components/Screens.js.map +0 -1
- package/lib/commonjs/blank-stack/components/StackView.js +0 -93
- package/lib/commonjs/blank-stack/components/StackView.js.map +0 -1
- package/lib/commonjs/blank-stack/navigators/createBlankStackNavigator.js.map +0 -1
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/_types.js.map +0 -1
- package/lib/module/blank-stack/components/Overlay.js.map +0 -1
- package/lib/module/blank-stack/components/Screens.js.map +0 -1
- package/lib/module/blank-stack/components/StackView.js +0 -88
- package/lib/module/blank-stack/components/StackView.js.map +0 -1
- package/lib/module/blank-stack/navigators/createBlankStackNavigator.js.map +0 -1
- package/lib/module/blank-stack/utils/with-stack-navigation/_types.js +0 -4
- package/lib/module/blank-stack/utils/with-stack-navigation/_types.js.map +0 -1
- package/lib/typescript/blank-stack/components/Overlay.d.ts.map +0 -1
- package/lib/typescript/blank-stack/components/StackView.d.ts +0 -2
- package/lib/typescript/blank-stack/components/StackView.d.ts.map +0 -1
- package/lib/typescript/blank-stack/navigators/createBlankStackNavigator.d.ts.map +0 -1
- package/lib/typescript/blank-stack/utils/with-stack-navigation/_types.d.ts.map +0 -1
- package/src/blank-stack/components/StackView.tsx +0 -108
- /package/src/blank-stack/utils/with-stack-navigation/{_types.ts → types.ts} +0 -0
|
@@ -5,18 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.BoundStore = void 0;
|
|
7
7
|
var _reactNativeReanimated = require("react-native-reanimated");
|
|
8
|
-
/**
|
|
9
|
-
* Note on cleanup: We intentionally skip automatic cleanup of old links.
|
|
10
|
-
* The linkStack grows by one entry per navigation, but `getActiveLink`
|
|
11
|
-
* finds the correct link via screenKey matching regardless of stack size.
|
|
12
|
-
* This is unlikely to cause performance issues in typical apps, but if
|
|
13
|
-
* memory becomes a concern in apps with heavy navigation (hundreds of
|
|
14
|
-
* transitions), we should consider implementing cleanup on screen unmount using
|
|
15
|
-
* screenKey filtering.
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
8
|
const registry = (0, _reactNativeReanimated.makeMutable)({});
|
|
19
|
-
function
|
|
9
|
+
function registerSnapshot(tag, screenKey, bounds, styles = {}, ancestorKeys) {
|
|
20
10
|
"worklet";
|
|
21
11
|
|
|
22
12
|
registry.modify(state => {
|
|
@@ -24,33 +14,32 @@ function registerOccurrence(tag, screenKey, bounds, styles = {}) {
|
|
|
24
14
|
|
|
25
15
|
if (!state[tag]) {
|
|
26
16
|
state[tag] = {
|
|
27
|
-
|
|
17
|
+
snapshots: {},
|
|
28
18
|
linkStack: []
|
|
29
19
|
};
|
|
30
20
|
}
|
|
31
|
-
state[tag].
|
|
21
|
+
state[tag].snapshots[screenKey] = {
|
|
32
22
|
bounds,
|
|
33
|
-
styles
|
|
23
|
+
styles,
|
|
24
|
+
ancestorKeys
|
|
34
25
|
};
|
|
35
26
|
return state;
|
|
36
27
|
});
|
|
37
28
|
}
|
|
38
|
-
function setLinkSource(tag, screenKey, bounds, styles = {},
|
|
29
|
+
function setLinkSource(tag, screenKey, bounds, styles = {}, ancestorKeys) {
|
|
39
30
|
"worklet";
|
|
40
31
|
|
|
41
32
|
registry.modify(state => {
|
|
42
33
|
"worklet";
|
|
43
34
|
|
|
44
35
|
if (!state[tag]) state[tag] = {
|
|
45
|
-
|
|
36
|
+
snapshots: {},
|
|
46
37
|
linkStack: []
|
|
47
38
|
};
|
|
48
|
-
|
|
49
|
-
// Push new link onto stack
|
|
50
39
|
state[tag].linkStack.push({
|
|
51
40
|
source: {
|
|
52
41
|
screenKey,
|
|
53
|
-
|
|
42
|
+
ancestorKeys,
|
|
54
43
|
bounds,
|
|
55
44
|
styles
|
|
56
45
|
},
|
|
@@ -59,7 +48,7 @@ function setLinkSource(tag, screenKey, bounds, styles = {}, parentScreenKey) {
|
|
|
59
48
|
return state;
|
|
60
49
|
});
|
|
61
50
|
}
|
|
62
|
-
function setLinkDestination(tag, screenKey, bounds, styles = {},
|
|
51
|
+
function setLinkDestination(tag, screenKey, bounds, styles = {}, ancestorKeys) {
|
|
63
52
|
"worklet";
|
|
64
53
|
|
|
65
54
|
registry.modify(state => {
|
|
@@ -73,7 +62,7 @@ function setLinkDestination(tag, screenKey, bounds, styles = {}, parentScreenKey
|
|
|
73
62
|
if (stack[i].destination === null) {
|
|
74
63
|
stack[i].destination = {
|
|
75
64
|
screenKey,
|
|
76
|
-
|
|
65
|
+
ancestorKeys,
|
|
77
66
|
bounds,
|
|
78
67
|
styles
|
|
79
68
|
};
|
|
@@ -83,20 +72,57 @@ function setLinkDestination(tag, screenKey, bounds, styles = {}, parentScreenKey
|
|
|
83
72
|
return state;
|
|
84
73
|
});
|
|
85
74
|
}
|
|
86
|
-
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Helper to check if a screen identifier matches a given key.
|
|
78
|
+
* Checks both direct screenKey match and ancestor chain.
|
|
79
|
+
*/
|
|
80
|
+
function matchesScreenKey(identifier, key) {
|
|
87
81
|
"worklet";
|
|
88
82
|
|
|
89
|
-
|
|
83
|
+
if (!identifier) return false;
|
|
84
|
+
|
|
85
|
+
// Direct match
|
|
86
|
+
if (identifier.screenKey === key) return true;
|
|
87
|
+
|
|
88
|
+
// Check ancestor chain
|
|
89
|
+
return identifier.ancestorKeys?.includes(key) ?? false;
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
-
|
|
93
|
-
|
|
92
|
+
/**
|
|
93
|
+
* Get snapshot by tag and optional key.
|
|
94
|
+
* If key is provided, supports ancestor matching - if the key matches any ancestor
|
|
95
|
+
* of a stored snapshot, that snapshot will be returned.
|
|
96
|
+
* If key is omitted, returns the most recently registered snapshot.
|
|
97
|
+
*/
|
|
98
|
+
function getSnapshot(tag, key) {
|
|
94
99
|
"worklet";
|
|
95
100
|
|
|
96
|
-
|
|
97
|
-
|
|
101
|
+
const tagState = registry.value[tag];
|
|
102
|
+
if (!tagState) return null;
|
|
103
|
+
|
|
104
|
+
// Direct match in occurrences
|
|
105
|
+
if (tagState.snapshots[key]) {
|
|
106
|
+
const snap = tagState.snapshots[key];
|
|
107
|
+
return {
|
|
108
|
+
bounds: snap.bounds,
|
|
109
|
+
styles: snap.styles
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
// Ancestor match
|
|
114
|
+
for (const screenKey in tagState.snapshots) {
|
|
115
|
+
const snap = tagState.snapshots[screenKey];
|
|
116
|
+
if (snap.ancestorKeys?.includes(key)) {
|
|
117
|
+
return {
|
|
118
|
+
bounds: snap.bounds,
|
|
119
|
+
styles: snap.styles
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return null;
|
|
98
124
|
}
|
|
99
|
-
function getActiveLink(tag, screenKey
|
|
125
|
+
function getActiveLink(tag, screenKey) {
|
|
100
126
|
"worklet";
|
|
101
127
|
|
|
102
128
|
const stack = registry.value[tag]?.linkStack;
|
|
@@ -106,36 +132,54 @@ function getActiveLink(tag, screenKey, isClosing) {
|
|
|
106
132
|
|
|
107
133
|
// If screenKey provided, find link involving that screen
|
|
108
134
|
if (screenKey) {
|
|
109
|
-
// When closing (backward nav), we want the link where this screen is the DESTINATION
|
|
110
|
-
// When opening (forward nav), we want the link where this screen is the DESTINATION too
|
|
111
|
-
// The source is always the "from" screen, destination is the "to" screen
|
|
112
|
-
|
|
113
|
-
if (isClosing) {
|
|
114
|
-
// Backward: find link where I am the destination (I'm going back to source)
|
|
115
|
-
for (let i = stack.length - 1; i >= 0; i--) {
|
|
116
|
-
const link = stack[i];
|
|
117
|
-
if (matchesScreenKey(link.destination, screenKey)) {
|
|
118
|
-
return link;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
// Forward or fallback: find any link involving this screen
|
|
124
135
|
for (let i = stack.length - 1; i >= 0; i--) {
|
|
125
136
|
const link = stack[i];
|
|
126
|
-
if (
|
|
137
|
+
if (!link.destination) continue;
|
|
138
|
+
const isSource = matchesScreenKey(link.source, screenKey);
|
|
139
|
+
const isDestination = matchesScreenKey(link.destination, screenKey);
|
|
140
|
+
if (isSource || isDestination) {
|
|
141
|
+
// If I match the source, I'm closing (going back to where I came from)
|
|
127
142
|
return link;
|
|
128
143
|
}
|
|
129
144
|
}
|
|
130
145
|
return null;
|
|
131
146
|
}
|
|
132
|
-
|
|
147
|
+
const lastLink = stack[stack.length - 1];
|
|
148
|
+
return lastLink ? lastLink : null;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Clear all snapshots and links for a screen across all tags.
|
|
153
|
+
* Called when a screen unmounts.
|
|
154
|
+
*/
|
|
155
|
+
function clear(screenKey) {
|
|
156
|
+
"worklet";
|
|
157
|
+
|
|
158
|
+
registry.modify(state => {
|
|
159
|
+
"worklet";
|
|
160
|
+
|
|
161
|
+
for (const tag in state) {
|
|
162
|
+
// Remove snapshot
|
|
163
|
+
if (state[tag].snapshots[screenKey]) {
|
|
164
|
+
delete state[tag].snapshots[screenKey];
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
// Remove links involving this screen
|
|
168
|
+
state[tag].linkStack = state[tag].linkStack.filter(link => {
|
|
169
|
+
const sourceMatches = matchesScreenKey(link.source, screenKey);
|
|
170
|
+
const destMatches = matchesScreenKey(link.destination, screenKey);
|
|
171
|
+
return !sourceMatches && !destMatches;
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
return state;
|
|
175
|
+
});
|
|
133
176
|
}
|
|
134
177
|
const BoundStore = exports.BoundStore = {
|
|
135
|
-
|
|
178
|
+
registerSnapshot,
|
|
136
179
|
setLinkSource,
|
|
137
180
|
setLinkDestination,
|
|
138
181
|
getActiveLink,
|
|
139
|
-
|
|
182
|
+
getSnapshot,
|
|
183
|
+
clear
|
|
140
184
|
};
|
|
141
185
|
//# sourceMappingURL=bounds.store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeReanimated","require","registry","makeMutable","
|
|
1
|
+
{"version":3,"names":["_reactNativeReanimated","require","registry","makeMutable","registerSnapshot","tag","screenKey","bounds","styles","ancestorKeys","modify","state","snapshots","linkStack","setLinkSource","push","source","destination","setLinkDestination","stack","length","i","matchesScreenKey","identifier","key","includes","getSnapshot","tagState","value","snap","getActiveLink","link","isSource","isDestination","lastLink","clear","filter","sourceMatches","destMatches","BoundStore","exports"],"sourceRoot":"../../../../src","sources":["shared/stores/bounds.store.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,7 +12,7 @@ const isBoundsEqual = ({
|
|
|
12
12
|
}) => {
|
|
13
13
|
"worklet";
|
|
14
14
|
|
|
15
|
-
const existing = _bounds.BoundStore.
|
|
15
|
+
const existing = _bounds.BoundStore.getSnapshot(sharedBoundTag, key)?.bounds;
|
|
16
16
|
return !!existing && existing.width === measured.width && existing.height === measured.height && existing.pageX === measured.pageX && existing.pageY === measured.pageY && existing.x === measured.x && existing.y === measured.y;
|
|
17
17
|
};
|
|
18
18
|
exports.isBoundsEqual = isBoundsEqual;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bounds","require","isBoundsEqual","measured","key","sharedBoundTag","existing","BoundStore","
|
|
1
|
+
{"version":3,"names":["_bounds","require","isBoundsEqual","measured","key","sharedBoundTag","existing","BoundStore","getSnapshot","bounds","width","height","pageX","pageY","x","y","exports"],"sourceRoot":"../../../../../../src","sources":["shared/utils/bounds/helpers/is-bounds-equal.ts"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AAEO,MAAMC,aAAa,GAAGA,CAAC;EAC7BC,QAAQ;EACRC,GAAG;EACHC;AAKD,CAAC,KAAK;EACL,SAAS;;EACT,MAAMC,QAAQ,GAAGC,kBAAU,CAACC,WAAW,CAACH,cAAc,EAAED,GAAG,CAAC,EAAEK,MAAM;EACpE,OACC,CAAC,CAACH,QAAQ,IACVA,QAAQ,CAACI,KAAK,KAAKP,QAAQ,CAACO,KAAK,IACjCJ,QAAQ,CAACK,MAAM,KAAKR,QAAQ,CAACQ,MAAM,IACnCL,QAAQ,CAACM,KAAK,KAAKT,QAAQ,CAACS,KAAK,IACjCN,QAAQ,CAACO,KAAK,KAAKV,QAAQ,CAACU,KAAK,IACjCP,QAAQ,CAACQ,CAAC,KAAKX,QAAQ,CAACW,CAAC,IACzBR,QAAQ,CAACS,CAAC,KAAKZ,QAAQ,CAACY,CAAC;AAE3B,CAAC;AAACC,OAAA,CAAAd,aAAA,GAAAA,aAAA","ignoreList":[]}
|
|
@@ -13,11 +13,10 @@ const resolveBounds = props => {
|
|
|
13
13
|
|
|
14
14
|
const entering = !props.next;
|
|
15
15
|
const fullscreen = (0, _constants.FULLSCREEN_DIMENSIONS)(props.dimensions);
|
|
16
|
-
const isClosing = props.current?.closing === 1;
|
|
17
16
|
const isFullscreenTarget = props.computeOptions.target === "fullscreen";
|
|
18
17
|
|
|
19
18
|
// Try exact match first (strict matching for nested stacks)
|
|
20
|
-
let link = _bounds.BoundStore.getActiveLink(props.id, props.current?.route.key
|
|
19
|
+
let link = _bounds.BoundStore.getActiveLink(props.id, props.current?.route.key);
|
|
21
20
|
|
|
22
21
|
// For fullscreen target, fall back to most recent link for this tag
|
|
23
22
|
// (destination screen might not have a matching element)
|
|
@@ -149,13 +148,13 @@ const createBounds = props => {
|
|
|
149
148
|
dimensions: props.layouts.screen
|
|
150
149
|
}, params);
|
|
151
150
|
};
|
|
152
|
-
const
|
|
151
|
+
const getSnapshot = (tag, key) => {
|
|
153
152
|
"worklet";
|
|
154
153
|
|
|
155
|
-
return _bounds.BoundStore.
|
|
154
|
+
return _bounds.BoundStore.getSnapshot(tag, key);
|
|
156
155
|
};
|
|
157
156
|
return Object.assign(boundsFunction, {
|
|
158
|
-
|
|
157
|
+
getSnapshot
|
|
159
158
|
});
|
|
160
159
|
};
|
|
161
160
|
exports.createBounds = createBounds;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_constants","require","_bounds","_geometry","_styleComposers","resolveBounds","props","entering","next","fullscreen","FULLSCREEN_DIMENSIONS","dimensions","
|
|
1
|
+
{"version":3,"names":["_constants","require","_bounds","_geometry","_styleComposers","resolveBounds","props","entering","next","fullscreen","FULLSCREEN_DIMENSIONS","dimensions","isFullscreenTarget","computeOptions","target","link","BoundStore","getActiveLink","id","current","route","key","source","start","end","destination","bounds","customTarget","computeBoundStyles","previous","progress","raw","EMPTY_BOUND_HELPER_RESULT_RAW","EMPTY_BOUND_HELPER_RESULT","ranges","ENTER_RANGE","EXIT_RANGE","method","geometry","computeContentTransformGeometry","anchor","scaleMode","composeContentStyle","computeRelativeGeometry","common","isSize","isAbs","space","composeSizeAbsolute","composeSizeRelative","composeTransformAbsolute","composeTransformRelative","createBounds","boundsFunction","params","layouts","screen","getSnapshot","tag","Object","assign","exports"],"sourceRoot":"../../../../../src","sources":["shared/utils/bounds/index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -41,10 +41,29 @@ function createProvider(name, options) {
|
|
|
41
41
|
}
|
|
42
42
|
return context;
|
|
43
43
|
};
|
|
44
|
+
const withProvider = Component => {
|
|
45
|
+
return function WithProviderWrapper(props) {
|
|
46
|
+
const {
|
|
47
|
+
enabled = true,
|
|
48
|
+
value
|
|
49
|
+
} = factory(props);
|
|
50
|
+
if (!value) {
|
|
51
|
+
throw new Error(`${name}Context value must be provided. You likely forgot to return it from the factory function.`);
|
|
52
|
+
}
|
|
53
|
+
const memoValue = (0, _react.useMemo)(() => enabled ? value : null, [enabled, value]);
|
|
54
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Context.Provider, {
|
|
55
|
+
value: memoValue,
|
|
56
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, {
|
|
57
|
+
...value
|
|
58
|
+
})
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
};
|
|
44
62
|
return {
|
|
45
63
|
[`${name}Context`]: Context,
|
|
46
64
|
[`${name}Provider`]: Provider,
|
|
47
|
-
[`use${name}Context`]: useEnhancedContext
|
|
65
|
+
[`use${name}Context`]: useEnhancedContext,
|
|
66
|
+
[`with${name}Provider`]: withProvider
|
|
48
67
|
};
|
|
49
68
|
};
|
|
50
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_jsxRuntime","createProvider","name","options","factory","guarded","Context","createContext","displayName","Provider","props","children","enabled","value","Error","memoValue","useMemo","jsx","useEnhancedContext","context","useContext"],"sourceRoot":"../../../../src","sources":["shared/utils/create-provider.tsx"],"mappings":";;;;;;AAKA,IAAAA,MAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_react","require","_jsxRuntime","createProvider","name","options","factory","guarded","Context","createContext","displayName","Provider","props","children","enabled","value","Error","memoValue","useMemo","jsx","useEnhancedContext","context","useContext","withProvider","Component","WithProviderWrapper"],"sourceRoot":"../../../../src","sources":["shared/utils/create-provider.tsx"],"mappings":";;;;;;AAKA,IAAAA,MAAA,GAAAC,OAAA;AAMe,IAAAC,WAAA,GAAAD,OAAA;AAXf;AACA;AACA;AACA;AACA;;AASe,SAASE,cAAcA,CAGpCC,IAAkB,EAAEC,OAA+B,EAAE;EACtD,OACCC,OAIC,IACG;IACJ,MAAM;MAAEC,OAAO,GAAG;IAAK,CAAC,GAAGF,OAAO,IAAI,CAAC,CAAC;IAExC,MAAMG,OAAO,gBAAG,IAAAC,oBAAa,EAAsB,IAAI,CAAC;IACxDD,OAAO,CAACE,WAAW,GAAGN,IAAI;IAE1B,MAAMO,QAAiC,GAAIC,KAAK,IAAK;MACpD,MAAM;QACLC,QAAQ,GAAID,KAAK,CAA8BC,QAAQ;QACvDC,OAAO,GAAG,IAAI;QACdC;MACD,CAAC,GAAGT,OAAO,CAACM,KAAK,CAAC;MAElB,IAAI,CAACG,KAAK,EAAE;QACX,MAAM,IAAIC,KAAK,CACd,GAAGZ,IAAI,2FACR,CAAC;MACF;MAEA,MAAMa,SAAS,GAAG,IAAAC,cAAO,EACxB,MAAOJ,OAAO,GAAGC,KAAK,GAAG,IAAK,EAC9B,CAACD,OAAO,EAAEC,KAAK,CAChB,CAAC;MAED,oBAAO,IAAAb,WAAA,CAAAiB,GAAA,EAACX,OAAO,CAACG,QAAQ;QAACI,KAAK,EAAEE,SAAU;QAAAJ,QAAA,EAAEA;MAAQ,CAAmB,CAAC;IACzE,CAAC;IAED,MAAMO,kBAAkB,GAAGA,CAAA,KAA2B;MACrD,MAAMC,OAAO,GAAG,IAAAC,iBAAU,EAACd,OAAO,CAAC;MAEnC,IAAID,OAAO,IAAIc,OAAO,KAAK,IAAI,EAAE;QAChC,MAAM,IAAIL,KAAK,CACd,GAAGZ,IAAI,kCAAkCA,IAAI,UAC9C,CAAC;MACF;MAEA,OAAOiB,OAAO;IACf,CAAC;IAED,MAAME,YAAY,GAAIC,SAAsC,IAAK;MAChE,OAAO,SAASC,mBAAmBA,CAACb,KAAoB,EAAE;QACzD,MAAM;UAAEE,OAAO,GAAG,IAAI;UAAEC;QAAM,CAAC,GAAGT,OAAO,CAACM,KAAK,CAAC;QAEhD,IAAI,CAACG,KAAK,EAAE;UACX,MAAM,IAAIC,KAAK,CACd,GAAGZ,IAAI,2FACR,CAAC;QACF;QAEA,MAAMa,SAAS,GAAG,IAAAC,cAAO,EACxB,MAAOJ,OAAO,GAAGC,KAAK,GAAG,IAAK,EAC9B,CAACD,OAAO,EAAEC,KAAK,CAChB,CAAC;QAED,oBACC,IAAAb,WAAA,CAAAiB,GAAA,EAACX,OAAO,CAACG,QAAQ;UAACI,KAAK,EAAEE,SAAU;UAAAJ,QAAA,eAClC,IAAAX,WAAA,CAAAiB,GAAA,EAACK,SAAS;YAAA,GAAKT;UAAK,CAAG;QAAC,CACP,CAAC;MAErB,CAAC;IACF,CAAC;IAED,OAAO;MACN,CAAC,GAAGX,IAAI,SAAS,GAAGI,OAAO;MAC3B,CAAC,GAAGJ,IAAI,UAAU,GAAGO,QAAQ;MAC7B,CAAC,MAAMP,IAAI,SAAS,GAAGgB,kBAAkB;MACzC,CAAC,OAAOhB,IAAI,UAAU,GAAGmB;IAC1B,CAAC;EAaF,CAAC;AACF","ignoreList":[]}
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.resetStoresForScreen = void 0;
|
|
7
7
|
var _animation = require("../stores/animation.store");
|
|
8
|
+
var _bounds = require("../stores/bounds.store");
|
|
8
9
|
var _gesture = require("../stores/gesture.store");
|
|
9
10
|
/**
|
|
10
11
|
* Reset all stores for a given screen
|
|
@@ -12,6 +13,7 @@ var _gesture = require("../stores/gesture.store");
|
|
|
12
13
|
const resetStoresForScreen = current => {
|
|
13
14
|
_animation.AnimationStore.clear(current.route.key);
|
|
14
15
|
_gesture.GestureStore.clear(current.route.key);
|
|
16
|
+
_bounds.BoundStore.clear(current.route.key);
|
|
15
17
|
};
|
|
16
18
|
exports.resetStoresForScreen = resetStoresForScreen;
|
|
17
19
|
//# sourceMappingURL=reset-stores-for-screen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_animation","require","_gesture","resetStoresForScreen","current","AnimationStore","clear","route","key","GestureStore","exports"],"sourceRoot":"../../../../src","sources":["shared/utils/reset-stores-for-screen.ts"],"mappings":";;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,
|
|
1
|
+
{"version":3,"names":["_animation","require","_bounds","_gesture","resetStoresForScreen","current","AnimationStore","clear","route","key","GestureStore","BoundStore","exports"],"sourceRoot":"../../../../src","sources":["shared/utils/reset-stores-for-screen.ts"],"mappings":";;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACO,MAAMG,oBAAoB,GAAIC,OAA6B,IAAK;EACtEC,yBAAc,CAACC,KAAK,CAACF,OAAO,CAACG,KAAK,CAACC,GAAG,CAAC;EACvCC,qBAAY,CAACH,KAAK,CAACF,OAAO,CAACG,KAAK,CAACC,GAAG,CAAC;EACrCE,kBAAU,CAACJ,KAAK,CAACF,OAAO,CAACG,KAAK,CAACC,GAAG,CAAC;AACpC,CAAC;AAACG,OAAA,CAAAR,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
|
@@ -41,7 +41,8 @@ const OverlayHost = ({
|
|
|
41
41
|
optimisticActiveIndex
|
|
42
42
|
} = useOverlayAnimation();
|
|
43
43
|
const {
|
|
44
|
-
scenes
|
|
44
|
+
scenes,
|
|
45
|
+
routes
|
|
45
46
|
} = useStackNavigationContext();
|
|
46
47
|
const overlaySceneIndex = useMemo(() => {
|
|
47
48
|
return scenes.findIndex(stackScene => stackScene.route.key === scene.route.key);
|
|
@@ -59,12 +60,13 @@ const OverlayHost = ({
|
|
|
59
60
|
return null;
|
|
60
61
|
}
|
|
61
62
|
const overlayProps = {
|
|
63
|
+
routes,
|
|
64
|
+
overlayAnimation,
|
|
65
|
+
screenAnimation,
|
|
62
66
|
focusedRoute: focusedScene.route,
|
|
63
67
|
focusedIndex: optimisticActiveIndex,
|
|
64
68
|
overlayOptions: focusedScene.descriptor.options.overlayOptions,
|
|
65
|
-
navigation: scene.descriptor.navigation
|
|
66
|
-
overlayAnimation,
|
|
67
|
-
screenAnimation
|
|
69
|
+
navigation: scene.descriptor.navigation
|
|
68
70
|
};
|
|
69
71
|
return /*#__PURE__*/_jsx(Animated.View, {
|
|
70
72
|
pointerEvents: "box-none",
|
|
@@ -147,4 +149,4 @@ const styles = StyleSheet.create({
|
|
|
147
149
|
zIndex: 1000
|
|
148
150
|
}
|
|
149
151
|
});
|
|
150
|
-
//# sourceMappingURL=
|
|
152
|
+
//# sourceMappingURL=overlay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NavigationContext","NavigationRouteContext","useMemo","Animated","StyleSheet","View","useScreenAnimation","KeysProvider","useKeys","TransitionStylesProvider","useOverlayAnimation","useStackNavigationContext","jsx","_jsx","getActiveFloatOverlay","scenes","index","length","startIndex","Math","max","i","scene","options","descriptor","overlayMode","overlayShown","overlayIndex","OverlayHost","isFloating","OverlayComponent","overlay","overlayAnimation","optimisticActiveIndex","routes","overlaySceneIndex","findIndex","stackScene","route","key","focusedScene","maxOffset","normalizedIndex","min","screenAnimation","overlayProps","focusedRoute","focusedIndex","overlayOptions","navigation","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":[]}
|
|
@@ -24,26 +24,24 @@ export const Screen = ({
|
|
|
24
24
|
const screenActivity = useSharedValue(1);
|
|
25
25
|
useDerivedValue(() => {
|
|
26
26
|
if (!sceneProgress) {
|
|
27
|
-
screenActivity.
|
|
27
|
+
screenActivity.set(STATE_TRANSITIONING_OR_BELOW_TOP);
|
|
28
28
|
return;
|
|
29
29
|
}
|
|
30
30
|
if (index < routesLength - activeScreensLimit - 1 || isPreloaded) {
|
|
31
|
-
screenActivity.
|
|
31
|
+
screenActivity.set(STATE_INACTIVE);
|
|
32
32
|
} else {
|
|
33
33
|
const outputValue = index === routesLength - 1 ? STATE_ON_TOP : index >= routesLength - activeScreensLimit ? STATE_TRANSITIONING_OR_BELOW_TOP : STATE_INACTIVE;
|
|
34
|
-
const v = interpolate(sceneProgress.
|
|
34
|
+
const v = interpolate(sceneProgress.get(), [0, 1 - EPSILON, 1], [1, 1, outputValue], "clamp");
|
|
35
35
|
const next = Math.trunc(v) ?? STATE_TRANSITIONING_OR_BELOW_TOP;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
if (next !== screenActivity.value) {
|
|
39
|
-
screenActivity.value = next;
|
|
36
|
+
if (next !== screenActivity.get()) {
|
|
37
|
+
screenActivity.set(next);
|
|
40
38
|
}
|
|
41
39
|
}
|
|
42
40
|
});
|
|
43
41
|
const animatedProps = useAnimatedProps(() => {
|
|
44
42
|
return {
|
|
45
|
-
activityState: screenActivity.
|
|
46
|
-
shouldFreeze: screenActivity.
|
|
43
|
+
activityState: screenActivity.get(),
|
|
44
|
+
shouldFreeze: screenActivity.get() === STATE_INACTIVE && shouldFreeze
|
|
47
45
|
};
|
|
48
46
|
});
|
|
49
47
|
return /*#__PURE__*/_jsx(AnimatedScreen, {
|
|
@@ -55,4 +53,4 @@ export const Screen = ({
|
|
|
55
53
|
children: children
|
|
56
54
|
});
|
|
57
55
|
};
|
|
58
|
-
//# sourceMappingURL=
|
|
56
|
+
//# sourceMappingURL=screens.js.map
|
|
@@ -0,0 +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","routesLength","isPreloaded","activeScreensLimit","children","freezeOnBlur","shouldFreeze","sceneProgress","getAnimation","screenActivity","set","outputValue","v","get","next","Math","trunc","animatedProps","activityState","enabled","style","absoluteFill","pointerEvents"],"sourceRoot":"../../../../src","sources":["blank-stack/components/screens.tsx"],"mappings":";;AACA,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,GAAG,CAACf,gCAAgC,CAAC;MACpD;IACD;IAEA,IAAIK,KAAK,GAAGC,YAAY,GAAGE,kBAAkB,GAAG,CAAC,IAAID,WAAW,EAAE;MACjEO,cAAc,CAACC,GAAG,CAAChB,cAAc,CAAC;IACnC,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,CAACM,GAAG,CAAC,CAAC,EACnB,CAAC,CAAC,EAAE,CAAC,GAAGpB,OAAO,EAAE,CAAC,CAAC,EACnB,CAAC,CAAC,EAAE,CAAC,EAAEkB,WAAW,CAAC,EACnB,OACD,CAAC;MAED,MAAMG,IAAI,GACRC,IAAI,CAACC,KAAK,CAACJ,CAAC,CAAC,IAAkBjB,gCAAgC;MAEjE,IAAImB,IAAI,KAAKL,cAAc,CAACI,GAAG,CAAC,CAAC,EAAE;QAClCJ,cAAc,CAACC,GAAG,CAACI,IAAI,CAAC;MACzB;IACD;EACD,CAAC,CAAC;EAEF,MAAMG,aAAa,GAAGhC,gBAAgB,CAAC,MAAM;IAC5C,OAAO;MACNiC,aAAa,EAAET,cAAc,CAACI,GAAG,CAAC,CAAC;MACnCP,YAAY,EAAEG,cAAc,CAACI,GAAG,CAAC,CAAC,KAAKnB,cAAc,IAAIY;IAC1D,CAAC;EACF,CAAC,CAAC;EAEF,oBACCd,IAAA,CAACK,cAAc;IACdsB,OAAO;IACPC,KAAK,EAAEtC,UAAU,CAACuC,YAAa;IAC/BC,aAAa,EAAC,UAAU;IACxBjB,YAAY,EAAEA,YAAa;IAC3BY,aAAa,EAAEA,aAAc;IAAAb,QAAA,EAE5BA;EAAQ,CACM,CAAC;AAEnB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { SafeAreaProviderCompat } from "@react-navigation/elements";
|
|
4
|
+
import { NavigationContext, NavigationRouteContext } from "@react-navigation/native";
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import { StyleSheet } from "react-native";
|
|
7
|
+
import { GestureHandlerRootView } from "react-native-gesture-handler";
|
|
8
|
+
import { ScreenContainer } from "react-native-screens";
|
|
9
|
+
import { BlankStackScreenLifecycleController } from "../../shared/components/controllers/screen-lifecycle";
|
|
10
|
+
import { FlagsProvider } from "../../shared/providers/flags.provider";
|
|
11
|
+
import { ScreenTransitionProvider } from "../../shared/providers/screen-transition.provider";
|
|
12
|
+
import { withStackNavigationProvider } from "../utils/with-stack-navigation";
|
|
13
|
+
import { Overlay } from "./overlay";
|
|
14
|
+
import { Screen } from "./screens";
|
|
15
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
16
|
+
function isFabric() {
|
|
17
|
+
return "nativeFabricUIManager" in global;
|
|
18
|
+
}
|
|
19
|
+
const SceneView = /*#__PURE__*/React.memo(({
|
|
20
|
+
descriptor
|
|
21
|
+
}) => {
|
|
22
|
+
const {
|
|
23
|
+
route,
|
|
24
|
+
navigation,
|
|
25
|
+
render
|
|
26
|
+
} = descriptor;
|
|
27
|
+
return /*#__PURE__*/_jsx(NavigationContext.Provider, {
|
|
28
|
+
value: navigation,
|
|
29
|
+
children: /*#__PURE__*/_jsxs(NavigationRouteContext.Provider, {
|
|
30
|
+
value: route,
|
|
31
|
+
children: [descriptor.options.overlayMode === "screen" && /*#__PURE__*/_jsx(Overlay.Screen, {}), render()]
|
|
32
|
+
})
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
export const StackView = withStackNavigationProvider(({
|
|
36
|
+
activeScreensLimit,
|
|
37
|
+
descriptors,
|
|
38
|
+
focusedIndex,
|
|
39
|
+
routes,
|
|
40
|
+
scenes,
|
|
41
|
+
shouldShowFloatOverlay
|
|
42
|
+
}) => {
|
|
43
|
+
return /*#__PURE__*/_jsx(FlagsProvider, {
|
|
44
|
+
TRANSITIONS_ALWAYS_ON: true,
|
|
45
|
+
children: /*#__PURE__*/_jsx(GestureHandlerRootView, {
|
|
46
|
+
children: /*#__PURE__*/_jsxs(SafeAreaProviderCompat, {
|
|
47
|
+
children: [shouldShowFloatOverlay ? /*#__PURE__*/_jsx(Overlay.Float, {}) : null, /*#__PURE__*/_jsx(ScreenContainer, {
|
|
48
|
+
style: styles.container,
|
|
49
|
+
children: scenes.map((scene, sceneIndex) => {
|
|
50
|
+
const descriptor = scene.descriptor;
|
|
51
|
+
const route = scene.route;
|
|
52
|
+
const isFocused = focusedIndex === sceneIndex;
|
|
53
|
+
const isBelowFocused = focusedIndex - 1 === sceneIndex;
|
|
54
|
+
const previousDescriptor = scenes[sceneIndex - 1]?.descriptor ?? undefined;
|
|
55
|
+
const nextDescriptor = scenes[sceneIndex + 1]?.descriptor ?? undefined;
|
|
56
|
+
const isPreloaded = descriptors[route.key] === undefined;
|
|
57
|
+
|
|
58
|
+
// On Fabric, when screen is frozen, animated and reanimated values are not updated
|
|
59
|
+
// due to component being unmounted. To avoid this, we don't freeze the previous screen there
|
|
60
|
+
const shouldFreeze = isFabric() ? !isPreloaded && !isFocused && !isBelowFocused : !isPreloaded && !isFocused;
|
|
61
|
+
return /*#__PURE__*/_jsx(Screen, {
|
|
62
|
+
isPreloaded: isPreloaded,
|
|
63
|
+
index: sceneIndex,
|
|
64
|
+
activeScreensLimit: activeScreensLimit,
|
|
65
|
+
routeKey: route.key,
|
|
66
|
+
routesLength: routes.length,
|
|
67
|
+
shouldFreeze: shouldFreeze,
|
|
68
|
+
freezeOnBlur: descriptor.options.freezeOnBlur,
|
|
69
|
+
children: /*#__PURE__*/_jsx(ScreenTransitionProvider, {
|
|
70
|
+
previous: previousDescriptor,
|
|
71
|
+
current: descriptor,
|
|
72
|
+
next: nextDescriptor,
|
|
73
|
+
LifecycleController: BlankStackScreenLifecycleController,
|
|
74
|
+
children: /*#__PURE__*/_jsx(SceneView, {
|
|
75
|
+
descriptor: descriptor
|
|
76
|
+
}, route.key)
|
|
77
|
+
})
|
|
78
|
+
}, route.key);
|
|
79
|
+
})
|
|
80
|
+
})]
|
|
81
|
+
})
|
|
82
|
+
})
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
const styles = StyleSheet.create({
|
|
86
|
+
container: {
|
|
87
|
+
flex: 1
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
//# sourceMappingURL=stack-view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SafeAreaProviderCompat","NavigationContext","NavigationRouteContext","React","StyleSheet","GestureHandlerRootView","ScreenContainer","BlankStackScreenLifecycleController","FlagsProvider","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","TRANSITIONS_ALWAYS_ON","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/stack-view.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
export {
|
|
4
|
-
export { createBlankStackNavigator } from "../blank-stack/navigators/createBlankStackNavigator";
|
|
3
|
+
export { createBlankStackNavigator } from "../blank-stack/navigators/create-blank-stack-navigator";
|
|
5
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["createBlankStackNavigator"],"sourceRoot":"../../../src","sources":["blank-stack/index.ts"],"mappings":";;AAAA,SAASA,yBAAyB,QAAQ,wDAAwD","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { createNavigatorFactory, StackActions, StackRouter, useNavigationBuilder } from "@react-navigation/native";
|
|
4
4
|
import * as React from "react";
|
|
5
|
-
import { StackView } from "../components/
|
|
5
|
+
import { StackView } from "../components/stack-view";
|
|
6
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
7
|
function BlankStackNavigator({
|
|
8
8
|
id,
|
|
@@ -60,4 +60,4 @@ function BlankStackNavigator({
|
|
|
60
60
|
export function createBlankStackNavigator(config) {
|
|
61
61
|
return createNavigatorFactory(BlankStackNavigator)(config);
|
|
62
62
|
}
|
|
63
|
-
//# sourceMappingURL=
|
|
63
|
+
//# sourceMappingURL=create-blank-stack-navigator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createNavigatorFactory","StackActions","StackRouter","useNavigationBuilder","React","StackView","jsx","_jsx","BlankStackNavigator","id","initialRouteName","children","layout","screenListeners","screenOptions","screenLayout","rest","state","describe","descriptors","navigation","NavigationContent","useEffect","addListener","e","isFocused","requestAnimationFrame","index","defaultPrevented","dispatch","popToTop","target","key","createBlankStackNavigator","config"],"sourceRoot":"../../../../src","sources":["blank-stack/navigators/create-blank-stack-navigator.tsx"],"mappings":";;AAAA,SACCA,sBAAsB,EAKtBC,YAAY,EAEZC,WAAW,EAIXC,oBAAoB,QACd,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,SAAS,QAAQ,0BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQrD,SAASC,mBAAmBA,CAAC;EAC5BC,EAAE;EACFC,gBAAgB;EAChBC,QAAQ;EACRC,MAAM;EACNC,eAAe;EACfC,aAAa;EACbC,YAAY;EACZ,GAAGC;AACsB,CAAC,EAAE;EAC5B,MAAM;IAAEC,KAAK;IAAEC,QAAQ;IAAEC,WAAW;IAAEC,UAAU;IAAEC;EAAkB,CAAC,GACpElB,oBAAoB,CAMlBD,WAAW,EAAE;IACdO,EAAE;IACFC,gBAAgB;IAChBC,QAAQ;IACRC,MAAM;IACNC,eAAe;IACfC,aAAa;IACbC;EACD,CAAC,CAAC;EAEHX,KAAK,CAACkB,SAAS,CACd;EACC;EACAF,UAAU,EAAEG,WAAW,GAAG,UAAU,EAAGC,CAAM,IAAK;IACjD,MAAMC,SAAS,GAAGL,UAAU,CAACK,SAAS,CAAC,CAAC;;IAExC;IACA;IACAC,qBAAqB,CAAC,MAAM;MAC3B,IACCT,KAAK,CAACU,KAAK,GAAG,CAAC,IACfF,SAAS,IACT,CAAED,CAAC,CAAgCI,gBAAgB,EAClD;QACD;QACA;QACAR,UAAU,CAACS,QAAQ,CAAC;UACnB,GAAG5B,YAAY,CAAC6B,QAAQ,CAAC,CAAC;UAC1BC,MAAM,EAAEd,KAAK,CAACe;QACf,CAAC,CAAC;MACH;IACD,CAAC,CAAC;EACH,CAAC,CAAC,EACH,CAACZ,UAAU,EAAEH,KAAK,CAACU,KAAK,EAAEV,KAAK,CAACe,GAAG,CACpC,CAAC;EAED,oBACCzB,IAAA,CAACc,iBAAiB;IAAAV,QAAA,eACjBJ,IAAA,CAACF,SAAS;MAAA,GACLW,IAAI;MACRC,KAAK,EAAEA,KAAM;MACbG,UAAU,EAAEA,UAAW;MACvBD,WAAW,EAAEA,WAAY;MACzBD,QAAQ,EAAEA;IAAS,CACnB;EAAC,CACgB,CAAC;AAEtB;AAEA,OAAO,SAASe,yBAAyBA,CAmBvCC,MAAe,EAAmC;EACnD,OAAOlC,sBAAsB,CAACQ,mBAAmB,CAAC,CAAC0B,MAAM,CAAC;AAC3D","ignoreList":[]}
|