@niibase/bottom-sheet-manager 1.2.0 → 1.4.0
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 +414 -69
- package/lib/commonjs/events.js +100 -15
- package/lib/commonjs/events.js.map +1 -1
- package/lib/commonjs/index.js +14 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/manager.js +153 -35
- package/lib/commonjs/manager.js.map +1 -1
- package/lib/commonjs/provider.js +92 -54
- package/lib/commonjs/provider.js.map +1 -1
- package/lib/commonjs/router/index.js +80 -21
- package/lib/commonjs/router/index.js.map +1 -1
- package/lib/commonjs/router/router.js +137 -12
- package/lib/commonjs/router/router.js.map +1 -1
- package/lib/commonjs/router/view.js +93 -126
- package/lib/commonjs/router/view.js.map +1 -1
- package/lib/commonjs/sheet.js +122 -98
- package/lib/commonjs/sheet.js.map +1 -1
- package/lib/module/events.js +100 -15
- package/lib/module/events.js.map +1 -1
- package/lib/module/index.js +2 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/manager.js +154 -35
- package/lib/module/manager.js.map +1 -1
- package/lib/module/provider.js +87 -50
- package/lib/module/provider.js.map +1 -1
- package/lib/module/router/index.js +66 -19
- package/lib/module/router/index.js.map +1 -1
- package/lib/module/router/router.js +135 -11
- package/lib/module/router/router.js.map +1 -1
- package/lib/module/router/view.js +92 -126
- package/lib/module/router/view.js.map +1 -1
- package/lib/module/sheet.js +124 -100
- package/lib/module/sheet.js.map +1 -1
- package/lib/typescript/events.d.ts +46 -12
- package/lib/typescript/events.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +2 -2
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/manager.d.ts +73 -7
- package/lib/typescript/manager.d.ts.map +1 -1
- package/lib/typescript/provider.d.ts +22 -16
- package/lib/typescript/provider.d.ts.map +1 -1
- package/lib/typescript/router/index.d.ts +47 -17
- package/lib/typescript/router/index.d.ts.map +1 -1
- package/lib/typescript/router/router.d.ts +44 -5
- package/lib/typescript/router/router.d.ts.map +1 -1
- package/lib/typescript/router/types.d.ts +142 -32
- package/lib/typescript/router/types.d.ts.map +1 -1
- package/lib/typescript/router/view.d.ts +3 -3
- package/lib/typescript/router/view.d.ts.map +1 -1
- package/lib/typescript/sheet.d.ts +1 -1
- package/lib/typescript/sheet.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +52 -21
- package/lib/typescript/types.d.ts.map +1 -1
- package/package.json +14 -15
- package/src/events.ts +118 -27
- package/src/index.ts +2 -1
- package/src/manager.ts +209 -42
- package/src/provider.tsx +144 -71
- package/src/router/index.tsx +77 -33
- package/src/router/router.ts +188 -15
- package/src/router/types.ts +172 -57
- package/src/router/view.tsx +111 -213
- package/src/sheet.tsx +192 -124
- package/src/types.ts +51 -24
package/lib/module/manager.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { eventManager } from "./events";
|
|
2
1
|
import { providerRegistryStack, sheetsRegistry } from "./provider";
|
|
2
|
+
import { eventManager } from "./events";
|
|
3
|
+
|
|
3
4
|
// Array of all the ids of Sheets currently rendered in the app.
|
|
4
5
|
const ids = [];
|
|
5
6
|
const keys = [];
|
|
@@ -7,18 +8,28 @@ const refs = {};
|
|
|
7
8
|
const DEFAULT_Z_INDEX = 999;
|
|
8
9
|
const makeKey = (id, context) => `${id}:${context}`;
|
|
9
10
|
export const PrivateManager = {
|
|
10
|
-
//
|
|
11
|
+
// Stack of sheet history for restoration when sheets are closed
|
|
11
12
|
history: [],
|
|
12
13
|
context(options) {
|
|
13
14
|
if (!options) options = {};
|
|
14
15
|
if (!options?.context) {
|
|
15
|
-
//
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
// First try to find a context where this sheet is registered
|
|
17
|
+
if (options?.id) {
|
|
18
|
+
for (const context of providerRegistryStack.slice().reverse()) {
|
|
19
|
+
if (sheetsRegistry[context]?.[options.id]) {
|
|
20
|
+
options.context = context;
|
|
21
|
+
break;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Fall back to the top-most auto-generated nested context
|
|
27
|
+
if (!options.context) {
|
|
28
|
+
for (const context of providerRegistryStack.slice().reverse()) {
|
|
29
|
+
if (context.startsWith("$$-auto") && !context.includes(options?.id)) {
|
|
30
|
+
options.context = context;
|
|
31
|
+
break;
|
|
32
|
+
}
|
|
22
33
|
}
|
|
23
34
|
}
|
|
24
35
|
}
|
|
@@ -27,10 +38,11 @@ export const PrivateManager = {
|
|
|
27
38
|
registerRef: (id, context, instance) => {
|
|
28
39
|
const key = makeKey(id, context);
|
|
29
40
|
refs[key] = instance;
|
|
30
|
-
keys.
|
|
41
|
+
if (!keys.includes(key)) {
|
|
42
|
+
keys.push(key);
|
|
43
|
+
}
|
|
31
44
|
},
|
|
32
45
|
/**
|
|
33
|
-
*
|
|
34
46
|
* Get internal ref of a sheet by the given id.
|
|
35
47
|
*
|
|
36
48
|
* @param id Id of the sheet
|
|
@@ -38,8 +50,8 @@ export const PrivateManager = {
|
|
|
38
50
|
*/
|
|
39
51
|
get: (id, context) => {
|
|
40
52
|
if (!context) {
|
|
41
|
-
for (
|
|
42
|
-
for (
|
|
53
|
+
for (const ctx of providerRegistryStack.slice().reverse()) {
|
|
54
|
+
for (const _id in sheetsRegistry[ctx]) {
|
|
43
55
|
if (_id === id) {
|
|
44
56
|
context = ctx;
|
|
45
57
|
break;
|
|
@@ -50,25 +62,61 @@ export const PrivateManager = {
|
|
|
50
62
|
return refs[makeKey(id, context)];
|
|
51
63
|
},
|
|
52
64
|
add: (id, context) => {
|
|
53
|
-
|
|
54
|
-
|
|
65
|
+
const key = makeKey(id, context);
|
|
66
|
+
if (!ids.includes(key)) {
|
|
67
|
+
ids.push(key);
|
|
55
68
|
}
|
|
56
69
|
},
|
|
57
70
|
remove: (id, context) => {
|
|
58
|
-
|
|
59
|
-
|
|
71
|
+
const key = makeKey(id, context);
|
|
72
|
+
const index = ids.indexOf(key);
|
|
73
|
+
if (index > -1) {
|
|
74
|
+
ids.splice(index, 1);
|
|
60
75
|
}
|
|
61
76
|
},
|
|
62
77
|
zIndex: (id, context = "global") => {
|
|
63
78
|
const index = keys.indexOf(makeKey(id, context));
|
|
64
79
|
return index > -1 ? DEFAULT_Z_INDEX + index + 1 : DEFAULT_Z_INDEX;
|
|
65
80
|
},
|
|
66
|
-
stack: () => ids.map(id => {
|
|
81
|
+
stack: () => ids.map(id => ({
|
|
82
|
+
id: id.split(":")[0],
|
|
83
|
+
context: id.split(":")?.[1] || "global"
|
|
84
|
+
})),
|
|
85
|
+
/**
|
|
86
|
+
* Get the top-most sheet in the stack
|
|
87
|
+
*/
|
|
88
|
+
topSheet: () => {
|
|
89
|
+
if (ids.length === 0) return null;
|
|
90
|
+
const topId = ids[ids.length - 1];
|
|
67
91
|
return {
|
|
68
|
-
id:
|
|
69
|
-
context:
|
|
92
|
+
id: topId.split(":")[0],
|
|
93
|
+
context: topId.split(":")?.[1] || "global"
|
|
70
94
|
};
|
|
71
|
-
}
|
|
95
|
+
},
|
|
96
|
+
/**
|
|
97
|
+
* Check if a sheet is currently visible
|
|
98
|
+
*/
|
|
99
|
+
isSheetVisible: (id, context) => {
|
|
100
|
+
if (context) {
|
|
101
|
+
return ids.includes(makeKey(id, context));
|
|
102
|
+
}
|
|
103
|
+
return ids.some(key => key.startsWith(`${id}:`));
|
|
104
|
+
},
|
|
105
|
+
/**
|
|
106
|
+
* Clear all history entries
|
|
107
|
+
*/
|
|
108
|
+
clearHistory: () => {
|
|
109
|
+
PrivateManager.history = [];
|
|
110
|
+
},
|
|
111
|
+
/**
|
|
112
|
+
* Reset all internal state. Useful for testing or HMR.
|
|
113
|
+
*/
|
|
114
|
+
reset: () => {
|
|
115
|
+
ids.length = 0;
|
|
116
|
+
keys.length = 0;
|
|
117
|
+
for (const key in refs) delete refs[key];
|
|
118
|
+
PrivateManager.history = [];
|
|
119
|
+
}
|
|
72
120
|
};
|
|
73
121
|
class _SheetManager {
|
|
74
122
|
/**
|
|
@@ -83,30 +131,41 @@ class _SheetManager {
|
|
|
83
131
|
...options,
|
|
84
132
|
id: id
|
|
85
133
|
});
|
|
86
|
-
const
|
|
134
|
+
const behavior = options?.stackBehavior ?? "switch";
|
|
135
|
+
const handler = (data, context = "global", _reopened, _behavior) => {
|
|
87
136
|
if (context !== "global" && currentContext && currentContext !== context) return;
|
|
88
137
|
options?.onClose?.(data);
|
|
89
138
|
sub?.unsubscribe();
|
|
90
139
|
resolve(data);
|
|
91
140
|
};
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
141
|
+
const sub = eventManager.subscribe(`onclose_${id}`, handler);
|
|
142
|
+
|
|
143
|
+
// Handle existing sheets based on stack behavior.
|
|
144
|
+
// For "push" we do NOT hide existing sheets — they stay underneath.
|
|
145
|
+
if (behavior !== "push") {
|
|
146
|
+
const currentStack = PrivateManager.stack();
|
|
147
|
+
if (currentStack.length > 0) {
|
|
148
|
+
currentStack.forEach(({
|
|
149
|
+
id: sheetId,
|
|
150
|
+
context
|
|
151
|
+
}) => {
|
|
152
|
+
eventManager.publish(`hide_${sheetId}`, undefined, context, true, behavior);
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
}
|
|
99
156
|
|
|
100
157
|
// Check if the sheet is registered with any `SheetProviders`.
|
|
101
158
|
let isRegisteredWithSheetProvider = false;
|
|
102
|
-
for (
|
|
103
|
-
for (
|
|
159
|
+
for (const ctx in sheetsRegistry) {
|
|
160
|
+
for (const _id in sheetsRegistry[ctx]) {
|
|
104
161
|
if (_id === id) {
|
|
105
162
|
isRegisteredWithSheetProvider = true;
|
|
163
|
+
break;
|
|
106
164
|
}
|
|
107
165
|
}
|
|
166
|
+
if (isRegisteredWithSheetProvider) break;
|
|
108
167
|
}
|
|
109
|
-
eventManager.publish(isRegisteredWithSheetProvider ? `show_wrap_${id}` : `show_${id}`, options?.payload, currentContext || "global");
|
|
168
|
+
eventManager.publish(isRegisteredWithSheetProvider ? `show_wrap_${id}` : `show_${id}`, options?.payload, currentContext || "global", false, behavior);
|
|
110
169
|
});
|
|
111
170
|
}
|
|
112
171
|
|
|
@@ -114,10 +173,10 @@ class _SheetManager {
|
|
|
114
173
|
* An async hide function. This is useful when you want to show one Sheet after closing another.
|
|
115
174
|
*
|
|
116
175
|
* @param id id of the Sheet to show
|
|
117
|
-
* @param
|
|
176
|
+
* @param options
|
|
118
177
|
*/
|
|
119
178
|
async hide(id, options) {
|
|
120
|
-
|
|
179
|
+
const currentContext = PrivateManager.context({
|
|
121
180
|
...options,
|
|
122
181
|
id: id
|
|
123
182
|
});
|
|
@@ -137,7 +196,7 @@ class _SheetManager {
|
|
|
137
196
|
sub?.unsubscribe();
|
|
138
197
|
resolve(data);
|
|
139
198
|
};
|
|
140
|
-
|
|
199
|
+
const sub = eventManager.subscribe(`onclose_${id}`, hideHandler);
|
|
141
200
|
eventManager.publish(isRegisteredWithSheetProvider ? `hide_wrap_${id}` : `hide_${id}`, options?.payload, !isRegisteredWithSheetProvider ? "global" : currentContext);
|
|
142
201
|
});
|
|
143
202
|
}
|
|
@@ -148,6 +207,8 @@ class _SheetManager {
|
|
|
148
207
|
* @param id Hide all sheets for the specific id.
|
|
149
208
|
*/
|
|
150
209
|
hideAll(id) {
|
|
210
|
+
// Clear history when hiding all sheets
|
|
211
|
+
PrivateManager.clearHistory();
|
|
151
212
|
PrivateManager.stack().forEach(({
|
|
152
213
|
id: _id,
|
|
153
214
|
context
|
|
@@ -156,6 +217,64 @@ class _SheetManager {
|
|
|
156
217
|
eventManager.publish(`hide_${_id}`, undefined, context);
|
|
157
218
|
});
|
|
158
219
|
}
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* Replace the current sheet with a new one using crossfade animation.
|
|
223
|
+
* This is a convenience method for show() with stackBehavior: 'replace'.
|
|
224
|
+
*/
|
|
225
|
+
async replace(id, options) {
|
|
226
|
+
return this.show(id, {
|
|
227
|
+
...options,
|
|
228
|
+
stackBehavior: "replace"
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* Push a new sheet on top of the current one, creating a stack.
|
|
234
|
+
* This is a convenience method for show() with stackBehavior: 'push'.
|
|
235
|
+
*
|
|
236
|
+
*/
|
|
237
|
+
async push(id, options) {
|
|
238
|
+
return this.show(id, {
|
|
239
|
+
...options,
|
|
240
|
+
stackBehavior: "push"
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* Pop the top sheet from the stack and restore the previous one.
|
|
246
|
+
* Only works when sheets were opened with stackBehavior: 'push'.
|
|
247
|
+
*/
|
|
248
|
+
pop() {
|
|
249
|
+
const topSheet = PrivateManager.topSheet();
|
|
250
|
+
if (topSheet) {
|
|
251
|
+
eventManager.publish(`hide_${topSheet.id}`, undefined, topSheet.context);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* Get the internal ref of a sheet instance.
|
|
257
|
+
*
|
|
258
|
+
* @param id Id of the sheet
|
|
259
|
+
* @param context Optional context of the SheetProvider
|
|
260
|
+
*/
|
|
261
|
+
get(id, context) {
|
|
262
|
+
return PrivateManager.get(id, context)?.current ?? undefined;
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
/**
|
|
266
|
+
* Check if a specific sheet is currently visible.
|
|
267
|
+
*/
|
|
268
|
+
isVisible(id, context) {
|
|
269
|
+
return PrivateManager.isSheetVisible(id, context);
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
/**
|
|
273
|
+
* Reset all internal state. Useful for testing environments.
|
|
274
|
+
*/
|
|
275
|
+
reset() {
|
|
276
|
+
PrivateManager.reset();
|
|
277
|
+
}
|
|
159
278
|
}
|
|
160
279
|
|
|
161
280
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["providerRegistryStack","sheetsRegistry","eventManager","ids","keys","refs","DEFAULT_Z_INDEX","makeKey","id","context","PrivateManager","history","options","slice","reverse","startsWith","includes","registerRef","instance","key","push","get","ctx","_id","add","remove","index","indexOf","splice","zIndex","stack","map","split","topSheet","length","topId","isSheetVisible","some","clearHistory","reset","_SheetManager","show","Promise","resolve","currentContext","behavior","stackBehavior","handler","data","_reopened","_behavior","onClose","sub","unsubscribe","subscribe","currentStack","forEach","sheetId","publish","undefined","isRegisteredWithSheetProvider","payload","hide","hideHandler","hideAll","replace","pop","current","isVisible","SheetManager"],"sourceRoot":"../../src","sources":["manager.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/provider.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import Animated, { interpolate, interpolateColor, runOnJS, useAnimatedReaction, useAnimatedStyle, useSharedValue, withSpring, withTiming } from "react-native-reanimated";
|
|
1
2
|
import { useSafeAreaInsets } from "react-native-safe-area-context";
|
|
2
3
|
import { BottomSheetModalProvider } from "@gorhom/bottom-sheet";
|
|
3
4
|
import { StatusBar } from "react-native";
|
|
4
5
|
import React from "react";
|
|
5
|
-
import Animated, { interpolate, interpolateColor, runOnJS, useAnimatedReaction, useAnimatedStyle, useSharedValue, withSpring, withTiming } from "react-native-reanimated";
|
|
6
6
|
import { eventManager } from "./events";
|
|
7
7
|
export const providerRegistryStack = [];
|
|
8
8
|
|
|
@@ -19,7 +19,7 @@ export function registerSheet(id, Sheet, ...contexts) {
|
|
|
19
19
|
for (let context of contexts) {
|
|
20
20
|
const registry = !sheetsRegistry[context] ? sheetsRegistry[context] = {} : sheetsRegistry[context];
|
|
21
21
|
registry[id] = Sheet;
|
|
22
|
-
eventManager.
|
|
22
|
+
eventManager.publishAsync(`${context}-on-register`);
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
|
|
@@ -28,23 +28,22 @@ export function registerSheet(id, Sheet, ...contexts) {
|
|
|
28
28
|
* `global`. However if you want to render a Sheet within another sheet or if you want to render
|
|
29
29
|
* Sheets in a modal. You can use a separate Provider with a custom context value.
|
|
30
30
|
*
|
|
31
|
-
*
|
|
31
|
+
* > **Note:** Context names must be unique across all `SheetProvider` instances.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
32
34
|
* ```ts
|
|
33
35
|
* // Define your SheetProvider in the component/modal where
|
|
34
36
|
* // you want to show some Sheets.
|
|
35
37
|
* <SheetProvider context="local-context" />
|
|
36
38
|
*
|
|
37
|
-
* // Then register your sheet
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* registerSheet('local-sheet', LocalSheet,'local-context');
|
|
41
|
-
*
|
|
39
|
+
* // Then register your sheet at module level (outside JSX):
|
|
40
|
+
* registerSheet('local-sheet', LocalSheet, 'local-context');
|
|
42
41
|
* ```
|
|
43
42
|
*/
|
|
44
43
|
export function SheetProvider({
|
|
45
|
-
iosModalSheetTypeOfAnimation = false,
|
|
46
44
|
context = "global",
|
|
47
|
-
|
|
45
|
+
statusBar,
|
|
46
|
+
scaleConfig,
|
|
48
47
|
children
|
|
49
48
|
}) {
|
|
50
49
|
const {
|
|
@@ -53,52 +52,55 @@ export function SheetProvider({
|
|
|
53
52
|
const [, forceUpdate] = React.useReducer(x => x + 1, 0);
|
|
54
53
|
const sheetIds = Object.keys(sheetsRegistry[context] || sheetsRegistry["global"] || {});
|
|
55
54
|
|
|
56
|
-
// Rerender when a new sheet is added.
|
|
57
|
-
const onRegister = React.useCallback(forceUpdate, [forceUpdate]);
|
|
58
|
-
|
|
59
55
|
// IOS modal sheet type of animation
|
|
60
56
|
const isFullScreen = useSharedValue(-1);
|
|
61
57
|
const colorStyle = useAnimatedStyle(() => ({
|
|
62
58
|
flex: 1,
|
|
63
59
|
backgroundColor: interpolateColor(isFullScreen.value, [0, 1], ["transparent", "#000"])
|
|
64
60
|
}));
|
|
65
|
-
const animatedStyle = useAnimatedStyle(() =>
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
61
|
+
const animatedStyle = useAnimatedStyle(() => {
|
|
62
|
+
const radius = interpolate(isFullScreen.value, [0, 0.3], [0, scaleConfig?.borderRadius ?? 24], "clamp");
|
|
63
|
+
const scale = interpolate(isFullScreen.value, [0.5, 0.8], [1, scaleConfig?.scale ?? 0.92], "clamp");
|
|
64
|
+
const translateY = interpolate(isFullScreen.value, [0.5, 0.7], [0, top + (scaleConfig?.translateY ?? 5)], "clamp");
|
|
65
|
+
return {
|
|
66
|
+
flex: 1,
|
|
67
|
+
overflow: "hidden",
|
|
68
|
+
borderRadius: scaleConfig?.animation?.type === "spring" ? withSpring(radius, scaleConfig.animation.config) : withTiming(radius, scaleConfig?.animation?.config ?? {
|
|
69
|
+
duration: 200
|
|
70
|
+
}),
|
|
71
|
+
transform: [{
|
|
72
|
+
scaleX: scaleConfig?.animation?.type === "spring" ? withSpring(scale, scaleConfig.animation.config) : withTiming(scale, scaleConfig?.animation?.config ?? {
|
|
73
|
+
duration: 200
|
|
74
|
+
})
|
|
75
|
+
}, {
|
|
76
|
+
translateY: scaleConfig?.animation?.type === "spring" ? withSpring(translateY, scaleConfig.animation.config) : withTiming(translateY, scaleConfig?.animation?.config ?? {
|
|
77
|
+
duration: 200
|
|
78
|
+
})
|
|
79
|
+
}]
|
|
80
|
+
};
|
|
81
|
+
}, [top, scaleConfig]);
|
|
80
82
|
|
|
81
83
|
// Since background color is white, we need to set status bar to light
|
|
82
84
|
const setStatusBar = StatusBar.setBarStyle;
|
|
83
85
|
useAnimatedReaction(() => isFullScreen.value, currentValue => {
|
|
84
86
|
"worklet";
|
|
85
87
|
|
|
86
|
-
if (currentValue
|
|
87
|
-
runOnJS(setStatusBar)(currentValue >= 0.5 ? "light-content" : "default");
|
|
88
|
+
if (currentValue >= 0) {
|
|
89
|
+
runOnJS(setStatusBar)(currentValue >= 0.5 ? "light-content" : statusBar ?? "default", true);
|
|
88
90
|
}
|
|
89
91
|
}, []);
|
|
90
92
|
React.useEffect(() => {
|
|
91
93
|
providerRegistryStack.indexOf(context) > -1 ? providerRegistryStack.indexOf(context) : providerRegistryStack.push(context) - 1;
|
|
92
|
-
const unsub = eventManager.subscribe(`${context}-on-register`,
|
|
94
|
+
const unsub = eventManager.subscribe(`${context}-on-register`, forceUpdate);
|
|
93
95
|
return () => {
|
|
94
96
|
providerRegistryStack.splice(providerRegistryStack.indexOf(context), 1);
|
|
95
97
|
unsub?.unsubscribe();
|
|
96
98
|
};
|
|
97
|
-
}, [context,
|
|
98
|
-
return /*#__PURE__*/React.createElement(
|
|
99
|
+
}, [context, forceUpdate]);
|
|
100
|
+
return /*#__PURE__*/React.createElement(SheetSharedContext.Provider, {
|
|
99
101
|
value: {
|
|
100
102
|
isFullScreen,
|
|
101
|
-
|
|
103
|
+
topInset: top
|
|
102
104
|
}
|
|
103
105
|
}, /*#__PURE__*/React.createElement(Animated.View, {
|
|
104
106
|
style: colorStyle
|
|
@@ -107,21 +109,28 @@ export function SheetProvider({
|
|
|
107
109
|
}, children)), /*#__PURE__*/React.createElement(BottomSheetModalProvider, null, sheetIds.map(id => /*#__PURE__*/React.createElement(RenderSheet, {
|
|
108
110
|
key: id,
|
|
109
111
|
id: id,
|
|
110
|
-
context: context
|
|
111
|
-
duration: duration
|
|
112
|
+
context: context
|
|
112
113
|
}))));
|
|
113
114
|
}
|
|
114
115
|
const ProviderContext = /*#__PURE__*/React.createContext("global");
|
|
115
116
|
const SheetIDContext = /*#__PURE__*/React.createContext(undefined);
|
|
116
|
-
const
|
|
117
|
+
const SheetSharedContext = /*#__PURE__*/React.createContext({
|
|
117
118
|
isFullScreen: {
|
|
118
119
|
value: 0
|
|
119
120
|
},
|
|
120
|
-
|
|
121
|
+
topInset: 0
|
|
121
122
|
});
|
|
122
123
|
export const SheetRefContext = /*#__PURE__*/React.createContext({});
|
|
123
124
|
const SheetPayloadContext = /*#__PURE__*/React.createContext(undefined);
|
|
124
125
|
|
|
126
|
+
// Stack behavior context for managing sheet transitions
|
|
127
|
+
|
|
128
|
+
const StackBehaviorContext = /*#__PURE__*/React.createContext({
|
|
129
|
+
behavior: "switch",
|
|
130
|
+
isTransitioning: false,
|
|
131
|
+
previousSheetId: null
|
|
132
|
+
});
|
|
133
|
+
|
|
125
134
|
/**
|
|
126
135
|
* Get id of the current context.
|
|
127
136
|
*/
|
|
@@ -133,9 +142,14 @@ export const useSheetIDContext = () => React.useContext(SheetIDContext);
|
|
|
133
142
|
/**
|
|
134
143
|
* Get the current sheet animation context.
|
|
135
144
|
*/
|
|
136
|
-
export const
|
|
145
|
+
export const useSheetSharedContext = () => React.useContext(SheetSharedContext);
|
|
146
|
+
/**
|
|
147
|
+
* Get stack behavior context for the current sheet.
|
|
148
|
+
*/
|
|
149
|
+
export const useStackBehaviorContext = () => React.useContext(StackBehaviorContext);
|
|
137
150
|
/**
|
|
138
151
|
* Get the current Sheet's internal ref.
|
|
152
|
+
* Note: `current` may be null before the sheet is fully mounted.
|
|
139
153
|
*/
|
|
140
154
|
export const useSheetRef = () => React.useContext(SheetRefContext);
|
|
141
155
|
|
|
@@ -153,29 +167,44 @@ export function useOnSheet(id, type, listener) {
|
|
|
153
167
|
React.useEffect(() => {
|
|
154
168
|
const subscription = eventManager.subscribe(`${type}_${id}`, listener);
|
|
155
169
|
return () => subscription.unsubscribe();
|
|
156
|
-
}, [id, listener]);
|
|
170
|
+
}, [id, listener, type]);
|
|
157
171
|
}
|
|
158
172
|
const RenderSheet = ({
|
|
159
173
|
id,
|
|
160
|
-
context
|
|
161
|
-
duration
|
|
174
|
+
context
|
|
162
175
|
}) => {
|
|
163
176
|
const [payload, setPayload] = React.useState();
|
|
164
177
|
const [visible, setVisible] = React.useState(false);
|
|
178
|
+
const [stackBehavior, setStackBehavior] = React.useState("switch");
|
|
179
|
+
const [isPending, startTransition] = React.useTransition();
|
|
180
|
+
const [previousSheetId, setPreviousSheetId] = React.useState(null);
|
|
165
181
|
const ref = React.useRef(null);
|
|
166
182
|
const Sheet = context.startsWith("$$-auto-") ? sheetsRegistry?.global?.[id] : sheetsRegistry[context] ? sheetsRegistry[context]?.[id] : undefined;
|
|
167
|
-
const onShow = React.useCallback((data, ctx = "global", reopened) => {
|
|
183
|
+
const onShow = React.useCallback((data, ctx = "global", reopened, behavior) => {
|
|
168
184
|
if (ctx !== context) return;
|
|
169
|
-
if (
|
|
170
|
-
|
|
185
|
+
if (behavior) {
|
|
186
|
+
setStackBehavior(behavior);
|
|
187
|
+
}
|
|
188
|
+
if (!reopened) {
|
|
189
|
+
setPayload(data);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
// Smooth transition handling using React's useTransition
|
|
193
|
+
startTransition(() => {
|
|
194
|
+
setVisible(true);
|
|
195
|
+
});
|
|
171
196
|
}, [context]);
|
|
172
|
-
const onClose = React.useCallback((_data, ctx = "global", reopened) => {
|
|
197
|
+
const onClose = React.useCallback((_data, ctx = "global", reopened, nextSheetId) => {
|
|
173
198
|
if (context !== ctx) return;
|
|
199
|
+
if (nextSheetId) {
|
|
200
|
+
setPreviousSheetId(nextSheetId);
|
|
201
|
+
}
|
|
174
202
|
if (!reopened) {
|
|
175
203
|
setPayload(undefined);
|
|
176
|
-
|
|
204
|
+
setVisible(false);
|
|
177
205
|
} else {
|
|
178
206
|
setVisible(false);
|
|
207
|
+
setPreviousSheetId(null);
|
|
179
208
|
}
|
|
180
209
|
}, [context]);
|
|
181
210
|
const onHide = React.useCallback((data, ctx = "global") => {
|
|
@@ -187,13 +216,19 @@ const RenderSheet = ({
|
|
|
187
216
|
}
|
|
188
217
|
}, [context, id, payload, visible]);
|
|
189
218
|
React.useEffect(() => {
|
|
190
|
-
|
|
219
|
+
const subs = [eventManager.subscribe(`show_wrap_${id}`, onShow), eventManager.subscribe(`onclose_${id}`, onClose), eventManager.subscribe(`hide_wrap_${id}`, onHide)];
|
|
191
220
|
return () => {
|
|
192
221
|
subs.forEach(s => s.unsubscribe());
|
|
193
222
|
};
|
|
194
223
|
}, [id, context, onShow, onHide, onClose]);
|
|
195
224
|
if (!Sheet) return null;
|
|
196
|
-
|
|
225
|
+
const stackContextValue = {
|
|
226
|
+
behavior: stackBehavior,
|
|
227
|
+
isTransitioning: isPending,
|
|
228
|
+
previousSheetId
|
|
229
|
+
};
|
|
230
|
+
if (!visible) return null;
|
|
231
|
+
return /*#__PURE__*/React.createElement(ProviderContext.Provider, {
|
|
197
232
|
value: context
|
|
198
233
|
}, /*#__PURE__*/React.createElement(SheetIDContext.Provider, {
|
|
199
234
|
value: id
|
|
@@ -201,10 +236,12 @@ const RenderSheet = ({
|
|
|
201
236
|
value: ref
|
|
202
237
|
}, /*#__PURE__*/React.createElement(SheetPayloadContext.Provider, {
|
|
203
238
|
value: payload
|
|
239
|
+
}, /*#__PURE__*/React.createElement(StackBehaviorContext.Provider, {
|
|
240
|
+
value: stackContextValue
|
|
204
241
|
}, /*#__PURE__*/React.createElement(Sheet, {
|
|
205
242
|
id: id,
|
|
206
243
|
payload: payload,
|
|
207
244
|
context: context
|
|
208
|
-
})))))
|
|
245
|
+
}))))));
|
|
209
246
|
};
|
|
210
247
|
//# sourceMappingURL=provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSafeAreaInsets","BottomSheetModalProvider","StatusBar","React","Animated","interpolate","interpolateColor","runOnJS","useAnimatedReaction","useAnimatedStyle","useSharedValue","withSpring","withTiming","eventManager","providerRegistryStack","sheetsRegistry","global","registerSheet","id","Sheet","contexts","length","context","registry","publish","SheetProvider","iosModalSheetTypeOfAnimation","duration","children","top","forceUpdate","useReducer","x","sheetIds","Object","keys","onRegister","useCallback","isFullScreen","colorStyle","flex","backgroundColor","value","animatedStyle","overflow","borderRadius","transform","scaleX","translateY","dampingRatio","setStatusBar","setBarStyle","currentValue","useEffect","indexOf","push","unsub","subscribe","splice","unsubscribe","createElement","SheetAnimationContext","Provider","View","style","map","RenderSheet","key","ProviderContext","createContext","SheetIDContext","undefined","SheetRefContext","SheetPayloadContext","useProviderContext","useContext","useSheetIDContext","useSheetAnimationContext","useSheetRef","useSheetPayload","useOnSheet","type","listener","subscription","payload","setPayload","useState","visible","setVisible","ref","useRef","startsWith","onShow","data","ctx","reopened","onClose","_data","setTimeout","Math","max","onHide","subs","forEach","s"],"sourceRoot":"../../src","sources":["provider.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Animated","interpolate","interpolateColor","runOnJS","useAnimatedReaction","useAnimatedStyle","useSharedValue","withSpring","withTiming","useSafeAreaInsets","BottomSheetModalProvider","StatusBar","React","eventManager","providerRegistryStack","sheetsRegistry","global","registerSheet","id","Sheet","contexts","length","context","registry","publishAsync","SheetProvider","statusBar","scaleConfig","children","top","forceUpdate","useReducer","x","sheetIds","Object","keys","isFullScreen","colorStyle","flex","backgroundColor","value","animatedStyle","radius","borderRadius","scale","translateY","overflow","animation","type","config","duration","transform","scaleX","setStatusBar","setBarStyle","currentValue","useEffect","indexOf","push","unsub","subscribe","splice","unsubscribe","createElement","SheetSharedContext","Provider","topInset","View","style","map","RenderSheet","key","ProviderContext","createContext","SheetIDContext","undefined","SheetRefContext","SheetPayloadContext","StackBehaviorContext","behavior","isTransitioning","previousSheetId","useProviderContext","useContext","useSheetIDContext","useSheetSharedContext","useStackBehaviorContext","useSheetRef","useSheetPayload","useOnSheet","listener","subscription","payload","setPayload","useState","visible","setVisible","stackBehavior","setStackBehavior","isPending","startTransition","useTransition","setPreviousSheetId","ref","useRef","startsWith","onShow","useCallback","data","ctx","reopened","onClose","_data","nextSheetId","onHide","publish","subs","forEach","s","stackContextValue"],"sourceRoot":"../../src","sources":["provider.tsx"],"mappings":"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","ignoreList":[]}
|