@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useSafeAreaInsets","useTheme","React","BottomSheetActions","BottomSheet","BottomSheetScreen","children","navigation","route","props","ref","useRef","lastSnapIndexRef","snapToIndex","index","useEffect","closing","current","close","snapToKey","handleChange","useCallback","newIndex","position","type","emit","target","key","data","currentIndex","dispatch","snapTo","createElement","_extends","onChange","BottomSheetView","state","descriptors","colors","bottom","left","right","themeBackgroundStyle","useMemo","borderCurve","backgroundColor","card","themeHandleIndicatorStyle","border","defaultStyle","paddingBottom","paddingLeft","paddingRight","baseRoute","sheetRoutes","routes","baseDescriptor","Fragment","render","map","descriptor","options","style","backgroundStyle","handleIndicatorStyle","handleStyle","id","borderRadius","onClose","remove","source","onBeforeShow","onAnimate","fromIndex","toIndex","fromPosition","toPosition"],"sourceRoot":"../../../src","sources":["router/view.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/sheet.js
CHANGED
|
@@ -1,88 +1,104 @@
|
|
|
1
1
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
2
|
import RNBottomSheet, { BottomSheetBackdrop, BottomSheetFlatList, BottomSheetFooter, BottomSheetFooterContainer, BottomSheetHandle, BottomSheetScrollView, BottomSheetSectionList, BottomSheetTextInput, BottomSheetView, BottomSheetVirtualizedList } from "@gorhom/bottom-sheet";
|
|
3
3
|
import { BackHandler, Platform, StyleSheet, View } from "react-native";
|
|
4
|
-
import {
|
|
4
|
+
import { interpolate, useAnimatedReaction, useSharedValue } from "react-native-reanimated";
|
|
5
5
|
import { useSafeAreaInsets } from "react-native-safe-area-context";
|
|
6
|
-
import { useTheme } from "@react-navigation/native";
|
|
7
6
|
import React from "react";
|
|
8
|
-
import { useProviderContext,
|
|
7
|
+
import { useProviderContext, useSheetIDContext, useSheetRef, useSheetSharedContext, useStackBehaviorContext } from "./provider";
|
|
9
8
|
import { PrivateManager } from "./manager";
|
|
10
9
|
import { eventManager } from "./events";
|
|
10
|
+
const FULL_SCREEN_POINTS = Platform.OS === "ios" ? ["%90", "90%"] : ["%93", "93%"];
|
|
11
11
|
const useSheetManager = ({
|
|
12
12
|
id,
|
|
13
13
|
onHide,
|
|
14
14
|
onBeforeShow,
|
|
15
15
|
onContextUpdate
|
|
16
16
|
}) => {
|
|
17
|
-
const [visible, setVisible] = React.useState(false);
|
|
18
17
|
const currentContext = useProviderContext();
|
|
18
|
+
const hasShownRef = React.useRef(false);
|
|
19
19
|
React.useEffect(() => {
|
|
20
20
|
if (!id) return undefined;
|
|
21
|
-
const subscriptions = [eventManager.subscribe(`show_${id}`, (data, context) => {
|
|
22
|
-
if (currentContext !== context
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
const subscriptions = [eventManager.subscribe(`show_${id}`, (data, context, behavior) => {
|
|
22
|
+
if (currentContext !== context) return;
|
|
23
|
+
if (!hasShownRef.current) {
|
|
24
|
+
hasShownRef.current = true;
|
|
25
|
+
onContextUpdate?.();
|
|
26
|
+
onBeforeShow?.(data, behavior);
|
|
27
|
+
}
|
|
28
|
+
}), eventManager.subscribe(`hide_${id}`, (data, context, dismiss, behavior) => {
|
|
27
29
|
if (currentContext !== context) return;
|
|
28
|
-
|
|
30
|
+
hasShownRef.current = false;
|
|
31
|
+
onHide?.(data, dismiss, behavior);
|
|
29
32
|
})];
|
|
30
33
|
return () => {
|
|
34
|
+
hasShownRef.current = false;
|
|
31
35
|
subscriptions.forEach(s => s?.unsubscribe?.());
|
|
32
36
|
};
|
|
33
37
|
}, [id, onHide, onBeforeShow, onContextUpdate, currentContext]);
|
|
34
|
-
return {
|
|
35
|
-
visible,
|
|
36
|
-
setVisible
|
|
37
|
-
};
|
|
38
38
|
};
|
|
39
39
|
const BottomSheetComponent = /*#__PURE__*/React.forwardRef(({
|
|
40
40
|
children,
|
|
41
|
-
snapPoints,
|
|
42
41
|
onClose,
|
|
43
42
|
onBeforeShow,
|
|
44
43
|
stackBehavior = "switch",
|
|
45
44
|
hardwareBackPressToClose = true,
|
|
46
45
|
enableDynamicSizing = false,
|
|
47
46
|
handleIndicatorStyle,
|
|
48
|
-
iosModalSheetTypeOfAnimation
|
|
47
|
+
iosModalSheetTypeOfAnimation,
|
|
48
|
+
snapPoints: defaultSnapPoints,
|
|
49
|
+
animatedIndex: defaultAnimatedIndex,
|
|
49
50
|
backgroundStyle,
|
|
51
|
+
onAnimate,
|
|
50
52
|
handleStyle,
|
|
51
|
-
|
|
52
|
-
|
|
53
|
+
style,
|
|
54
|
+
passThrough,
|
|
53
55
|
opacity,
|
|
54
56
|
...props
|
|
55
57
|
}, ref) => {
|
|
56
58
|
const currentSheetRef = useSheetRef();
|
|
57
59
|
const currentCtx = useProviderContext();
|
|
58
|
-
const
|
|
59
|
-
isFullScreen,
|
|
60
|
-
iosModalSheetTypeOfAnimation
|
|
61
|
-
} = useSheetAnimationContext();
|
|
60
|
+
const stackContext = useStackBehaviorContext();
|
|
62
61
|
const animatedIndex = useSharedValue(0);
|
|
62
|
+
const [currentStackBehavior, setCurrentStackBehavior] = React.useState(stackBehavior);
|
|
63
|
+
const isPushed = currentStackBehavior === "push";
|
|
63
64
|
const {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
top
|
|
65
|
+
bottom,
|
|
66
|
+
left,
|
|
67
|
+
right
|
|
68
68
|
} = useSafeAreaInsets();
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
69
|
+
const defaultStyle = React.useMemo(() => ({
|
|
70
|
+
paddingBottom: bottom,
|
|
71
|
+
paddingLeft: left,
|
|
72
|
+
paddingRight: right
|
|
73
|
+
}), [bottom, left, right]);
|
|
74
|
+
const {
|
|
75
|
+
isFullScreen
|
|
76
|
+
} = useSheetSharedContext();
|
|
77
|
+
const [snapPoints, fullScreenIndex] = React.useMemo(() => {
|
|
78
|
+
let resolved = defaultSnapPoints;
|
|
79
|
+
if (Platform.OS === "android" && iosModalSheetTypeOfAnimation && Array.isArray(resolved)) {
|
|
80
|
+
resolved = resolved.map(p => p === "90%" || p === "%90" ? "93%" : p);
|
|
81
|
+
}
|
|
82
|
+
const fullScreenIndex = resolved instanceof Array ? resolved.findIndex(p => FULL_SCREEN_POINTS.includes(p)) : resolved?.value?.findIndex(p => FULL_SCREEN_POINTS.includes(p)) || -1;
|
|
83
|
+
return [resolved, fullScreenIndex];
|
|
84
|
+
}, [defaultSnapPoints, iosModalSheetTypeOfAnimation]);
|
|
77
85
|
const valueRef = React.useRef(null);
|
|
78
86
|
const bottomSheetRef = React.useRef(null);
|
|
79
87
|
const hardwareBackPressEvent = React.useRef(null);
|
|
80
88
|
const id = useSheetIDContext();
|
|
81
89
|
const sheetId = props.id || id;
|
|
90
|
+
const hideSheetRef = React.useRef(null);
|
|
82
91
|
useSheetManager({
|
|
83
92
|
id: sheetId,
|
|
84
|
-
onHide: (data, dismiss) =>
|
|
85
|
-
|
|
93
|
+
onHide: (data, dismiss, behavior) => {
|
|
94
|
+
// Update state for future renders, but also pass behavior directly
|
|
95
|
+
// so hideSheet doesn't read a stale closure value (React state update
|
|
96
|
+
// is async — hideSheet runs before the re-render).
|
|
97
|
+
if (behavior) setCurrentStackBehavior(behavior);
|
|
98
|
+
hideSheetRef.current(data, true, dismiss, behavior);
|
|
99
|
+
},
|
|
100
|
+
onBeforeShow: (data, behavior) => {
|
|
101
|
+
if (behavior) setCurrentStackBehavior(behavior);
|
|
86
102
|
onBeforeShow?.(data);
|
|
87
103
|
valueRef.current = undefined;
|
|
88
104
|
currentSheetRef.current = getInstance();
|
|
@@ -96,49 +112,63 @@ const BottomSheetComponent = /*#__PURE__*/React.forwardRef(({
|
|
|
96
112
|
}
|
|
97
113
|
}
|
|
98
114
|
});
|
|
99
|
-
useAnimatedReaction(() => {
|
|
100
|
-
if (!!iosModalSheetTypeOfAnimation || !!pageAnimation) {
|
|
101
|
-
isFullScreen.value = 0;
|
|
102
|
-
}
|
|
103
|
-
return animatedIndex.value;
|
|
104
|
-
}, index => {
|
|
115
|
+
useAnimatedReaction(() => animatedIndex.value, index => {
|
|
105
116
|
"worklet";
|
|
106
117
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
118
|
+
if (defaultAnimatedIndex) {
|
|
119
|
+
defaultAnimatedIndex.set(index);
|
|
120
|
+
}
|
|
121
|
+
if (iosModalSheetTypeOfAnimation) {
|
|
122
|
+
isFullScreen.set(interpolate(index, [fullScreenIndex - 1, fullScreenIndex, fullScreenIndex + 1], [0, 1, 0]));
|
|
111
123
|
}
|
|
112
|
-
}, [
|
|
113
|
-
const hideSheet = React.useCallback((data,
|
|
124
|
+
}, [iosModalSheetTypeOfAnimation]);
|
|
125
|
+
const hideSheet = React.useCallback((data, fromManager, dismiss, incomingBehavior) => {
|
|
126
|
+
// Use the freshly-delivered behavior from the event when available.
|
|
127
|
+
// currentStackBehavior comes from React state which may not have flushed
|
|
128
|
+
// yet when this callback fires synchronously from the manager.
|
|
129
|
+
const activeBehavior = incomingBehavior ?? currentStackBehavior;
|
|
114
130
|
let value = data ?? valueRef.current;
|
|
115
|
-
|
|
116
|
-
|
|
131
|
+
hardwareBackPressEvent.current?.remove();
|
|
132
|
+
const closeValue = onClose?.(value);
|
|
133
|
+
if (closeValue !== undefined) value = closeValue;
|
|
134
|
+
if (dismiss && activeBehavior === "push") {
|
|
135
|
+
// For push behavior, a "dismiss" event means another sheet wants to
|
|
136
|
+
// appear on top — do not close this sheet.
|
|
137
|
+
if (fromManager) valueRef.current = data;
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
if (activeBehavior !== "replace" || !dismiss) {
|
|
117
141
|
bottomSheetRef.current?.close();
|
|
118
|
-
const closeValue = onClose?.(value);
|
|
119
|
-
if (undefined !== closeValue) value = closeValue;
|
|
120
142
|
}
|
|
121
143
|
if (sheetId) {
|
|
122
|
-
PrivateManager.
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
144
|
+
const hasHistory = PrivateManager.history.length > 0;
|
|
145
|
+
const shouldRestorePrevious = activeBehavior !== "replace";
|
|
146
|
+
eventManager.publish(`onclose_${sheetId}`, value, currentCtx, hasHistory || !!dismiss, activeBehavior);
|
|
147
|
+
if (shouldRestorePrevious) {
|
|
148
|
+
if (dismiss) {
|
|
149
|
+
// it will surface naturally when the push sheet is closed.
|
|
150
|
+
if (activeBehavior !== "push") {
|
|
151
|
+
PrivateManager.history.push({
|
|
152
|
+
id: sheetId,
|
|
153
|
+
context: currentCtx,
|
|
154
|
+
behavior: activeBehavior
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
} else if (hasHistory) {
|
|
158
|
+
const otherSheetsStillOpen = PrivateManager.stack().some(s => !(s.id === sheetId && s.context === currentCtx));
|
|
159
|
+
if (!otherSheetsStillOpen) {
|
|
160
|
+
const prev = PrivateManager.history.pop();
|
|
161
|
+
eventManager.publish(`show_wrap_${prev.id}`, undefined, prev.context, true, prev.behavior);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
138
164
|
}
|
|
165
|
+
PrivateManager.remove(sheetId, currentCtx);
|
|
139
166
|
}
|
|
140
|
-
if (
|
|
141
|
-
}, [sheetId, currentCtx, onClose]);
|
|
167
|
+
if (fromManager) valueRef.current = data;
|
|
168
|
+
}, [sheetId, currentCtx, onClose, currentStackBehavior]);
|
|
169
|
+
React.useEffect(() => {
|
|
170
|
+
hideSheetRef.current = hideSheet;
|
|
171
|
+
}, [hideSheet]);
|
|
142
172
|
const getInstance = React.useCallback(() => ({
|
|
143
173
|
close(options = {}) {
|
|
144
174
|
valueRef.current = options.value;
|
|
@@ -168,39 +198,47 @@ const BottomSheetComponent = /*#__PURE__*/React.forwardRef(({
|
|
|
168
198
|
React.useEffect(() => {
|
|
169
199
|
if (Platform.OS === "android" && hardwareBackPressToClose) {
|
|
170
200
|
hardwareBackPressEvent.current = BackHandler.addEventListener("hardwareBackPress", () => {
|
|
171
|
-
|
|
201
|
+
// Go through hideSheet so internal state (PrivateManager, events,
|
|
202
|
+
// history) is updated correctly — not just the visual sheet.
|
|
203
|
+
hideSheetRef.current(undefined, true, false);
|
|
172
204
|
return true;
|
|
173
205
|
});
|
|
174
206
|
}
|
|
175
207
|
return () => hardwareBackPressEvent.current?.remove();
|
|
176
208
|
}, [hardwareBackPressToClose]);
|
|
177
209
|
React.useImperativeHandle(ref, getInstance, [getInstance]);
|
|
210
|
+
const zIndex = React.useMemo(() => isPushed && sheetId ? PrivateManager.zIndex(sheetId, currentCtx) : 0, [sheetId, isPushed, currentCtx]);
|
|
211
|
+
const backdropOpacity = React.useMemo(() => {
|
|
212
|
+
if (isPushed && stackContext.previousSheetId) {
|
|
213
|
+
return (opacity || 0.45) * 0.6;
|
|
214
|
+
}
|
|
215
|
+
return opacity || 0.45;
|
|
216
|
+
}, [isPushed, stackContext.previousSheetId, opacity]);
|
|
178
217
|
return /*#__PURE__*/React.createElement(View, {
|
|
179
218
|
pointerEvents: "box-none",
|
|
180
219
|
style: [StyleSheet.absoluteFill, {
|
|
181
|
-
zIndex
|
|
220
|
+
zIndex
|
|
182
221
|
}]
|
|
183
222
|
}, /*#__PURE__*/React.createElement(RNBottomSheet, _extends({
|
|
184
223
|
enableDynamicSizing: enableDynamicSizing,
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
},
|
|
189
|
-
backdropComponent: props => /*#__PURE__*/React.createElement(BottomSheetBackdrop, _extends({
|
|
190
|
-
enableTouchThrough: !!clickThrough,
|
|
191
|
-
opacity: opacity || 0.45,
|
|
224
|
+
backdropComponent: backdropProps => /*#__PURE__*/React.createElement(BottomSheetBackdrop, _extends({
|
|
225
|
+
enableTouchThrough: !!passThrough,
|
|
226
|
+
opacity: backdropOpacity,
|
|
192
227
|
disappearsOnIndex: -1,
|
|
193
228
|
appearsOnIndex: 0
|
|
194
|
-
},
|
|
229
|
+
}, backdropProps)),
|
|
230
|
+
topInset: 0,
|
|
231
|
+
bottomInset: 0
|
|
195
232
|
}, props, {
|
|
196
233
|
ref: bottomSheetRef,
|
|
197
234
|
onClose: hideSheet,
|
|
235
|
+
onAnimate: onAnimate,
|
|
198
236
|
animatedIndex: animatedIndex,
|
|
199
|
-
|
|
200
|
-
snapPoints: enableDynamicSizing ? undefined : snapPoints
|
|
201
|
-
handleIndicatorStyle:
|
|
202
|
-
backgroundStyle:
|
|
203
|
-
handleStyle:
|
|
237
|
+
style: [defaultStyle, style],
|
|
238
|
+
snapPoints: enableDynamicSizing ? undefined : snapPoints,
|
|
239
|
+
handleIndicatorStyle: handleIndicatorStyle,
|
|
240
|
+
backgroundStyle: backgroundStyle,
|
|
241
|
+
handleStyle: handleStyle
|
|
204
242
|
}), children));
|
|
205
243
|
});
|
|
206
244
|
const BottomSheet = /*#__PURE__*/React.memo(BottomSheetComponent);
|
|
@@ -215,19 +253,5 @@ BottomSheet.Footer = BottomSheetFooter;
|
|
|
215
253
|
BottomSheet.FooterContainer = BottomSheetFooterContainer;
|
|
216
254
|
BottomSheet.Backdrop = BottomSheetBackdrop;
|
|
217
255
|
BottomSheet.TextInput = BottomSheetTextInput;
|
|
218
|
-
try {
|
|
219
|
-
const {
|
|
220
|
-
cssInterop
|
|
221
|
-
} = require("nativewind");
|
|
222
|
-
cssInterop(BottomSheet, {
|
|
223
|
-
handleIndicatorClassName: "handleIndicatorStyle",
|
|
224
|
-
backgroundClassName: "backgroundStyle",
|
|
225
|
-
containerClassName: "containerStyle",
|
|
226
|
-
handleClassName: "handleStyle",
|
|
227
|
-
className: "style"
|
|
228
|
-
});
|
|
229
|
-
} catch (e) {
|
|
230
|
-
// Ignore error
|
|
231
|
-
}
|
|
232
256
|
export default BottomSheet;
|
|
233
257
|
//# sourceMappingURL=sheet.js.map
|
package/lib/module/sheet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RNBottomSheet","BottomSheetBackdrop","BottomSheetFlatList","BottomSheetFooter","BottomSheetFooterContainer","BottomSheetHandle","BottomSheetScrollView","BottomSheetSectionList","BottomSheetTextInput","BottomSheetView","BottomSheetVirtualizedList","BackHandler","Platform","StyleSheet","View","Easing","interpolate","useAnimatedReaction","useSharedValue","useSafeAreaInsets","useTheme","React","useProviderContext","useSheetAnimationContext","useSheetIDContext","useSheetRef","PrivateManager","eventManager","useSheetManager","id","onHide","onBeforeShow","onContextUpdate","visible","setVisible","useState","currentContext","useEffect","undefined","subscriptions","subscribe","data","context","dismiss","forEach","s","unsubscribe","BottomSheetComponent","forwardRef","children","snapPoints","onClose","stackBehavior","hardwareBackPressToClose","enableDynamicSizing","handleIndicatorStyle","iosModalSheetTypeOfAnimation","pageAnimation","backgroundStyle","handleStyle","clickThrough","fullScreen","opacity","props","ref","currentSheetRef","currentCtx","isFullScreen","animatedIndex","colors","top","themeBackgroundStyle","useMemo","backgroundColor","card","themeHandleIndicatorStyle","border","height","width","valueRef","useRef","bottomSheetRef","hardwareBackPressEvent","sheetId","hideSheet","current","getInstance","add","registerRef","value","index","points","checkFullScreen","Array","findIndex","p","includes","useCallback","isSheetManagerOrRef","remove","close","closeValue","history","length","publish","push","pop","options","animationConfigs","expand","collapse","snapToIndex","snapToPosition","position","OS","addEventListener","useImperativeHandle","createElement","pointerEvents","style","absoluteFill","zIndex","_extends","duration","easing","bezier","backdropComponent","enableTouchThrough","disappearsOnIndex","appearsOnIndex","topInset","BottomSheet","memo","displayName","ScrollView","FlatList","SectionList","VirtualizedList","Handle","Footer","FooterContainer","Backdrop","TextInput","cssInterop","require","handleIndicatorClassName","backgroundClassName","containerClassName","handleClassName","className","e"],"sourceRoot":"../../src","sources":["sheet.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["RNBottomSheet","BottomSheetBackdrop","BottomSheetFlatList","BottomSheetFooter","BottomSheetFooterContainer","BottomSheetHandle","BottomSheetScrollView","BottomSheetSectionList","BottomSheetTextInput","BottomSheetView","BottomSheetVirtualizedList","BackHandler","Platform","StyleSheet","View","interpolate","useAnimatedReaction","useSharedValue","useSafeAreaInsets","React","useProviderContext","useSheetIDContext","useSheetRef","useSheetSharedContext","useStackBehaviorContext","PrivateManager","eventManager","FULL_SCREEN_POINTS","OS","useSheetManager","id","onHide","onBeforeShow","onContextUpdate","currentContext","hasShownRef","useRef","useEffect","undefined","subscriptions","subscribe","data","context","behavior","current","dismiss","forEach","s","unsubscribe","BottomSheetComponent","forwardRef","children","onClose","stackBehavior","hardwareBackPressToClose","enableDynamicSizing","handleIndicatorStyle","iosModalSheetTypeOfAnimation","snapPoints","defaultSnapPoints","animatedIndex","defaultAnimatedIndex","backgroundStyle","onAnimate","handleStyle","style","passThrough","opacity","props","ref","currentSheetRef","currentCtx","stackContext","currentStackBehavior","setCurrentStackBehavior","useState","isPushed","bottom","left","right","defaultStyle","useMemo","paddingBottom","paddingLeft","paddingRight","isFullScreen","fullScreenIndex","resolved","Array","isArray","map","p","findIndex","includes","value","valueRef","bottomSheetRef","hardwareBackPressEvent","sheetId","hideSheetRef","getInstance","add","registerRef","index","set","hideSheet","useCallback","fromManager","incomingBehavior","activeBehavior","remove","closeValue","close","hasHistory","history","length","shouldRestorePrevious","publish","push","otherSheetsStillOpen","stack","some","prev","pop","options","animationConfigs","expand","collapse","snapToIndex","snapToPosition","position","addEventListener","useImperativeHandle","zIndex","backdropOpacity","previousSheetId","createElement","pointerEvents","absoluteFill","_extends","backdropComponent","backdropProps","enableTouchThrough","disappearsOnIndex","appearsOnIndex","topInset","bottomInset","BottomSheet","memo","displayName","ScrollView","FlatList","SectionList","VirtualizedList","Handle","Footer","FooterContainer","Backdrop","TextInput"],"sourceRoot":"../../src","sources":["sheet.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,16 +1,50 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
/**
|
|
2
|
+
* High-performance event manager using Maps for O(1) lookups.
|
|
3
|
+
* Replaces React Native's EventEmitter which has significant overhead.
|
|
4
|
+
*/
|
|
5
|
+
export type EventHandler<T extends unknown[] = unknown[]> = (...args: T) => void;
|
|
6
|
+
export interface EventSubscription {
|
|
7
|
+
readonly unsubscribe: () => void;
|
|
8
|
+
}
|
|
9
|
+
declare class EventManager {
|
|
10
|
+
private _handlers;
|
|
11
|
+
private _nextId;
|
|
12
|
+
/**
|
|
13
|
+
* Subscribe to an event with a handler function.
|
|
14
|
+
* Returns a subscription object with an unsubscribe method.
|
|
15
|
+
*/
|
|
16
|
+
subscribe<T extends unknown[] = unknown[]>(name: string, handler: EventHandler<T>): EventSubscription;
|
|
17
|
+
/**
|
|
18
|
+
* Publish an event with optional arguments.
|
|
19
|
+
* All subscribed handlers will be called synchronously.
|
|
20
|
+
*/
|
|
21
|
+
publish<T extends unknown[] = unknown[]>(name: string, ...args: T): void;
|
|
22
|
+
/**
|
|
23
|
+
* Publish an event asynchronously using microtasks for better performance.
|
|
24
|
+
* Useful when you don't need immediate execution.
|
|
25
|
+
*/
|
|
26
|
+
publishAsync<T extends unknown[] = unknown[]>(name: string, ...args: T): void;
|
|
27
|
+
/**
|
|
28
|
+
* Check if an event has any subscribers.
|
|
29
|
+
*/
|
|
30
|
+
hasSubscribers(name: string): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Get the number of subscribers for an event.
|
|
33
|
+
*/
|
|
34
|
+
subscriberCount(name: string): number;
|
|
35
|
+
/**
|
|
36
|
+
* Remove all listeners for the specified event names.
|
|
37
|
+
*/
|
|
13
38
|
remove(...names: string[]): void;
|
|
39
|
+
/**
|
|
40
|
+
* Remove all event listeners.
|
|
41
|
+
*/
|
|
42
|
+
clear(): void;
|
|
43
|
+
/**
|
|
44
|
+
* Subscribe to an event that will only fire once.
|
|
45
|
+
*/
|
|
46
|
+
once<T extends unknown[] = unknown[]>(name: string, handler: EventHandler<T>): EventSubscription;
|
|
14
47
|
}
|
|
15
48
|
export declare const eventManager: EventManager;
|
|
49
|
+
export default EventManager;
|
|
16
50
|
//# sourceMappingURL=events.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AAEjF,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC;CACpC;AAOD,cAAM,YAAY;IACd,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,OAAO,CAAK;IAEpB;;;OAGG;IACH,SAAS,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,EACrC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GACzB,iBAAiB;IA+BpB;;;OAGG;IACH,OAAO,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI;IAWxE;;;OAGG;IACH,YAAY,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI;IAI7E;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAKrC;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIrC;;OAEG;IACH,MAAM,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAMhC;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,IAAI,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,EAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GACzB,iBAAiB;CAOvB;AAGD,eAAO,MAAM,YAAY,cAAqB,CAAC;AAE/C,eAAe,YAAY,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { default as BottomSheet } from "./sheet";
|
|
2
|
-
export { SheetManager } from "./manager";
|
|
2
|
+
export { SheetManager, PrivateManager } from "./manager";
|
|
3
3
|
export * from "./router";
|
|
4
4
|
export * from "./types";
|
|
5
|
-
export { SheetProvider, useSheetPayload, useSheetRef, useOnSheet, registerSheet, } from "./provider";
|
|
5
|
+
export { SheetProvider, useSheetPayload, useSheetRef, useOnSheet, useStackBehaviorContext as useSheetStackBehavior, registerSheet, } from "./provider";
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACzD,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,OAAO,EACH,aAAa,EACb,eAAe,EACf,WAAW,EACX,UAAU,EACV,uBAAuB,IAAI,qBAAqB,EAChD,aAAa,GAChB,MAAM,YAAY,CAAC"}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { RefObject } from "react";
|
|
2
|
-
import { BottomSheetInstance, Sheets } from "./types";
|
|
2
|
+
import { BottomSheetInstance, Sheets, StackBehavior } from "./types";
|
|
3
|
+
interface HistoryEntry {
|
|
4
|
+
id: string;
|
|
5
|
+
context: string;
|
|
6
|
+
behavior: StackBehavior;
|
|
7
|
+
}
|
|
3
8
|
export declare const PrivateManager: {
|
|
4
|
-
history:
|
|
5
|
-
id: string;
|
|
6
|
-
context: string;
|
|
7
|
-
}[];
|
|
9
|
+
history: HistoryEntry[];
|
|
8
10
|
context(options?: {
|
|
9
11
|
context?: string;
|
|
10
12
|
id?: string;
|
|
11
13
|
}): string | undefined;
|
|
12
14
|
registerRef: (id: string, context: string, instance: RefObject<BottomSheetInstance>) => void;
|
|
13
15
|
/**
|
|
14
|
-
*
|
|
15
16
|
* Get internal ref of a sheet by the given id.
|
|
16
17
|
*
|
|
17
18
|
* @param id Id of the sheet
|
|
@@ -25,6 +26,25 @@ export declare const PrivateManager: {
|
|
|
25
26
|
id: string;
|
|
26
27
|
context: string;
|
|
27
28
|
}[];
|
|
29
|
+
/**
|
|
30
|
+
* Get the top-most sheet in the stack
|
|
31
|
+
*/
|
|
32
|
+
topSheet: () => {
|
|
33
|
+
id: string;
|
|
34
|
+
context: string;
|
|
35
|
+
} | null;
|
|
36
|
+
/**
|
|
37
|
+
* Check if a sheet is currently visible
|
|
38
|
+
*/
|
|
39
|
+
isSheetVisible: (id: string, context?: string) => boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Clear all history entries
|
|
42
|
+
*/
|
|
43
|
+
clearHistory: () => void;
|
|
44
|
+
/**
|
|
45
|
+
* Reset all internal state. Useful for testing or HMR.
|
|
46
|
+
*/
|
|
47
|
+
reset: () => void;
|
|
28
48
|
};
|
|
29
49
|
declare class _SheetManager {
|
|
30
50
|
/**
|
|
@@ -46,12 +66,19 @@ declare class _SheetManager {
|
|
|
46
66
|
* Provide `context` of the `SheetProvider` where you want to show the action sheet.
|
|
47
67
|
*/
|
|
48
68
|
context?: string;
|
|
69
|
+
/**
|
|
70
|
+
* Stack behavior for this sheet.
|
|
71
|
+
* - `switch`: (default) Closes current sheet, shows new one
|
|
72
|
+
* - `replace`: Swaps content with crossfade animation
|
|
73
|
+
* - `push`: Stacks new sheet on top of current
|
|
74
|
+
*/
|
|
75
|
+
stackBehavior?: StackBehavior;
|
|
49
76
|
}): Promise<Sheets[SheetId]["returnValue"]>;
|
|
50
77
|
/**
|
|
51
78
|
* An async hide function. This is useful when you want to show one Sheet after closing another.
|
|
52
79
|
*
|
|
53
80
|
* @param id id of the Sheet to show
|
|
54
|
-
* @param
|
|
81
|
+
* @param options
|
|
55
82
|
*/
|
|
56
83
|
hide<SheetId extends keyof Sheets>(id: SheetId | (string & {}), options?: {
|
|
57
84
|
/**
|
|
@@ -69,6 +96,45 @@ declare class _SheetManager {
|
|
|
69
96
|
* @param id Hide all sheets for the specific id.
|
|
70
97
|
*/
|
|
71
98
|
hideAll<SheetId extends keyof Sheets>(id?: SheetId | (string & {})): void;
|
|
99
|
+
/**
|
|
100
|
+
* Replace the current sheet with a new one using crossfade animation.
|
|
101
|
+
* This is a convenience method for show() with stackBehavior: 'replace'.
|
|
102
|
+
*/
|
|
103
|
+
replace<SheetId extends keyof Sheets>(id: SheetId | (string & {}), options?: {
|
|
104
|
+
payload?: Sheets[SheetId]["payload"];
|
|
105
|
+
onClose?: (data: Sheets[SheetId]["returnValue"] | undefined) => void;
|
|
106
|
+
context?: string;
|
|
107
|
+
}): Promise<Sheets[SheetId]["returnValue"]>;
|
|
108
|
+
/**
|
|
109
|
+
* Push a new sheet on top of the current one, creating a stack.
|
|
110
|
+
* This is a convenience method for show() with stackBehavior: 'push'.
|
|
111
|
+
*
|
|
112
|
+
*/
|
|
113
|
+
push<SheetId extends keyof Sheets>(id: SheetId | (string & {}), options?: {
|
|
114
|
+
payload?: Sheets[SheetId]["payload"];
|
|
115
|
+
onClose?: (data: Sheets[SheetId]["returnValue"] | undefined) => void;
|
|
116
|
+
context?: string;
|
|
117
|
+
}): Promise<Sheets[SheetId]["returnValue"]>;
|
|
118
|
+
/**
|
|
119
|
+
* Pop the top sheet from the stack and restore the previous one.
|
|
120
|
+
* Only works when sheets were opened with stackBehavior: 'push'.
|
|
121
|
+
*/
|
|
122
|
+
pop(): void;
|
|
123
|
+
/**
|
|
124
|
+
* Get the internal ref of a sheet instance.
|
|
125
|
+
*
|
|
126
|
+
* @param id Id of the sheet
|
|
127
|
+
* @param context Optional context of the SheetProvider
|
|
128
|
+
*/
|
|
129
|
+
get<SheetId extends keyof Sheets>(id: SheetId | (string & {}), context?: string): BottomSheetInstance<SheetId> | undefined;
|
|
130
|
+
/**
|
|
131
|
+
* Check if a specific sheet is currently visible.
|
|
132
|
+
*/
|
|
133
|
+
isVisible<SheetId extends keyof Sheets>(id: SheetId | (string & {}), context?: string): boolean;
|
|
134
|
+
/**
|
|
135
|
+
* Reset all internal state. Useful for testing environments.
|
|
136
|
+
*/
|
|
137
|
+
reset(): void;
|
|
72
138
|
}
|
|
73
139
|
/**
|
|
74
140
|
* SheetManager is used to imperatively show/hide any sheet with a unique id prop.
|