@niibase/bottom-sheet-manager 1.2.0 → 1.3.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 +371 -37
- package/lib/commonjs/events.js +100 -15
- package/lib/commonjs/events.js.map +1 -1
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/manager.js +107 -29
- package/lib/commonjs/manager.js.map +1 -1
- package/lib/commonjs/provider.js +69 -28
- package/lib/commonjs/provider.js.map +1 -1
- package/lib/commonjs/router/index.js +50 -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 +194 -84
- package/lib/commonjs/router/view.js.map +1 -1
- package/lib/commonjs/sheet.js +124 -76
- 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 +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/manager.js +108 -29
- package/lib/module/manager.js.map +1 -1
- package/lib/module/provider.js +65 -25
- package/lib/module/provider.js.map +1 -1
- package/lib/module/router/index.js +34 -18
- 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 +194 -84
- package/lib/module/router/view.js.map +1 -1
- package/lib/module/sheet.js +126 -78
- 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 +1 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/manager.d.ts +57 -7
- package/lib/typescript/manager.d.ts.map +1 -1
- package/lib/typescript/provider.d.ts +22 -3
- package/lib/typescript/provider.d.ts.map +1 -1
- package/lib/typescript/router/index.d.ts +33 -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 +113 -17
- package/lib/typescript/router/types.d.ts.map +1 -1
- package/lib/typescript/router/view.d.ts +1 -1
- package/lib/typescript/router/view.d.ts.map +1 -1
- package/lib/typescript/sheet.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +25 -11
- package/lib/typescript/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/events.ts +118 -27
- package/src/index.ts +6 -5
- package/src/manager.ts +156 -33
- package/src/provider.tsx +98 -44
- package/src/router/index.tsx +38 -31
- package/src/router/router.ts +184 -15
- package/src/router/types.ts +119 -22
- package/src/router/view.tsx +252 -132
- package/src/sheet.tsx +175 -95
- package/src/types.ts +144 -130
|
@@ -1,23 +1,63 @@
|
|
|
1
|
-
import { StackActions, StackRouter } from "@react-navigation/native";
|
|
1
|
+
import { StackActions, StackRouter, useNavigation } from "@react-navigation/native";
|
|
2
2
|
import { nanoid } from "nanoid/non-secure";
|
|
3
3
|
export const BottomSheetActions = {
|
|
4
4
|
...StackActions,
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Snap the bottom sheet to a specific index.
|
|
7
|
+
*/
|
|
8
|
+
snapTo: index => ({
|
|
9
|
+
type: "SNAP_TO",
|
|
10
|
+
index
|
|
11
|
+
}),
|
|
12
|
+
/**
|
|
13
|
+
* Dismiss the current bottom sheet.
|
|
14
|
+
*/
|
|
15
|
+
dismiss: () => ({
|
|
16
|
+
type: "DISMISS"
|
|
17
|
+
}),
|
|
18
|
+
/**
|
|
19
|
+
* Remove the sheet from navigation state after dismiss animation completes.
|
|
20
|
+
*/
|
|
21
|
+
remove: () => ({
|
|
22
|
+
type: "REMOVE"
|
|
23
|
+
})
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Ensures the base route (first screen) exists in the navigation state.
|
|
28
|
+
* This is important because the first screen is the main content,
|
|
29
|
+
* and subsequent screens are rendered as bottom sheets.
|
|
30
|
+
*/
|
|
31
|
+
const ensureBaseRoute = (state, baseRouteName, routeParamList) => {
|
|
32
|
+
if (!baseRouteName) {
|
|
33
|
+
return state;
|
|
34
|
+
}
|
|
35
|
+
const hasBaseRoute = state.routes.some(r => r.name === baseRouteName);
|
|
36
|
+
if (!hasBaseRoute) {
|
|
37
|
+
const baseRoute = {
|
|
38
|
+
key: `${baseRouteName}-${nanoid()}`,
|
|
39
|
+
name: baseRouteName,
|
|
40
|
+
params: routeParamList?.[baseRouteName]
|
|
41
|
+
};
|
|
6
42
|
return {
|
|
7
|
-
|
|
8
|
-
index
|
|
43
|
+
...state,
|
|
44
|
+
index: state.routes.length,
|
|
45
|
+
routes: [baseRoute, ...state.routes]
|
|
9
46
|
};
|
|
10
47
|
}
|
|
48
|
+
return state;
|
|
11
49
|
};
|
|
12
|
-
export
|
|
50
|
+
export const BottomSheetRouter = routerOptions => {
|
|
13
51
|
const baseRouter = StackRouter(routerOptions);
|
|
14
52
|
return {
|
|
15
53
|
...baseRouter,
|
|
16
54
|
type: "bottom-sheet",
|
|
17
55
|
getInitialState(options) {
|
|
18
56
|
const state = baseRouter.getInitialState(options);
|
|
57
|
+
const baseRouteName = routerOptions.initialRouteName ?? options.routeNames[0];
|
|
58
|
+
const stateWithBaseRoute = ensureBaseRoute(state, baseRouteName, options.routeParamList);
|
|
19
59
|
return {
|
|
20
|
-
...
|
|
60
|
+
...stateWithBaseRoute,
|
|
21
61
|
stale: false,
|
|
22
62
|
type: "bottom-sheet",
|
|
23
63
|
key: `bottom-sheet-${nanoid()}`
|
|
@@ -27,15 +67,76 @@ export function BottomSheetRouter(routerOptions) {
|
|
|
27
67
|
switch (action.type) {
|
|
28
68
|
case "SNAP_TO":
|
|
29
69
|
{
|
|
30
|
-
const
|
|
70
|
+
const routeIndex = action.target === state.key && action.source ? state.routes.findIndex(r => r.key === action.source) : state.index;
|
|
71
|
+
return {
|
|
72
|
+
...state,
|
|
73
|
+
routes: state.routes.map((route, i) => i === routeIndex ? {
|
|
74
|
+
...route,
|
|
75
|
+
snapToIndex: action.index,
|
|
76
|
+
snapToKey: (route.snapToKey ?? 0) + 1
|
|
77
|
+
} : route)
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
case "GO_BACK":
|
|
81
|
+
case "DISMISS":
|
|
82
|
+
{
|
|
83
|
+
return this.getStateForAction(state, StackActions.pop(1), options);
|
|
84
|
+
}
|
|
85
|
+
case "POP":
|
|
86
|
+
{
|
|
87
|
+
// Only base screen remains - let parent navigator handle it
|
|
88
|
+
if (state.routes.length <= 1) {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
const count = "payload" in action && typeof action.payload?.count === "number" ? action.payload.count : 1;
|
|
92
|
+
|
|
93
|
+
// Calculate how many routes we can actually pop (don't pop base screen)
|
|
94
|
+
const maxPopCount = state.routes.length - 1;
|
|
95
|
+
const actualCount = Math.min(count, maxPopCount);
|
|
96
|
+
|
|
97
|
+
// Base screen - let parent navigator handle it
|
|
98
|
+
if (actualCount <= 0) {
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// Target index is the route we want to stay on (land on after pop)
|
|
103
|
+
// closingIndex is the first route to be dismissed (the one after target)
|
|
104
|
+
const targetIndex = state.routes.length - 1 - actualCount;
|
|
105
|
+
const closingIndex = targetIndex + 1;
|
|
106
|
+
|
|
107
|
+
// Mark only the bottom-most route to pop as closing
|
|
108
|
+
// The sheet's dismiss() will handle dismissing sheets above it first
|
|
31
109
|
return {
|
|
32
110
|
...state,
|
|
33
|
-
|
|
111
|
+
index: closingIndex,
|
|
112
|
+
routes: state.routes.map((route, i) => i === closingIndex ? {
|
|
34
113
|
...route,
|
|
35
|
-
|
|
114
|
+
closing: true
|
|
36
115
|
} : route)
|
|
37
116
|
};
|
|
38
117
|
}
|
|
118
|
+
case "POP_TO_TOP":
|
|
119
|
+
{
|
|
120
|
+
const popCount = state.routes.length - 1;
|
|
121
|
+
return this.getStateForAction(state, StackActions.pop(popCount), options);
|
|
122
|
+
}
|
|
123
|
+
case "REMOVE":
|
|
124
|
+
{
|
|
125
|
+
// Actually remove the closing route and all routes above it
|
|
126
|
+
const routeKey = action.source;
|
|
127
|
+
const routeIndex = routeKey ? state.routes.findIndex(r => r.key === routeKey) : state.routes.findIndex(r => r.closing);
|
|
128
|
+
if (routeIndex === -1) {
|
|
129
|
+
return state;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
// Remove the route and all routes above it (they were dismissed together)
|
|
133
|
+
const routes = state.routes.filter((_, i) => i < routeIndex);
|
|
134
|
+
return {
|
|
135
|
+
...state,
|
|
136
|
+
index: Math.min(state.index, routes.length - 1),
|
|
137
|
+
routes
|
|
138
|
+
};
|
|
139
|
+
}
|
|
39
140
|
default:
|
|
40
141
|
return baseRouter.getStateForAction(state, action, options);
|
|
41
142
|
}
|
|
@@ -53,13 +154,36 @@ export function BottomSheetRouter(routerOptions) {
|
|
|
53
154
|
routeParamList,
|
|
54
155
|
routeGetIdList
|
|
55
156
|
});
|
|
157
|
+
const baseRouteName = routerOptions.initialRouteName ?? routeNames[0];
|
|
158
|
+
const stateWithBaseRoute = ensureBaseRoute(state, baseRouteName, routeParamList);
|
|
56
159
|
return {
|
|
57
|
-
...
|
|
160
|
+
...stateWithBaseRoute,
|
|
58
161
|
type: "bottom-sheet",
|
|
59
162
|
key: `bottom-sheet-${nanoid()}`
|
|
60
163
|
};
|
|
61
164
|
},
|
|
62
165
|
actionCreators: BottomSheetActions
|
|
63
166
|
};
|
|
64
|
-
}
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Hook to access BottomSheet navigation with the snapTo helper.
|
|
171
|
+
*
|
|
172
|
+
* @example
|
|
173
|
+
* ```tsx
|
|
174
|
+
* function MySheet() {
|
|
175
|
+
* const navigation = useBottomSheetNavigation();
|
|
176
|
+
*
|
|
177
|
+
* // Snap to a specific index
|
|
178
|
+
* const handleExpand = () => {
|
|
179
|
+
* navigation.snapTo(1); // Snap to second index
|
|
180
|
+
* };
|
|
181
|
+
*
|
|
182
|
+
* return (
|
|
183
|
+
* <Button title="Expand" onPress={handleExpand} />
|
|
184
|
+
* );
|
|
185
|
+
* }
|
|
186
|
+
* ```
|
|
187
|
+
*/
|
|
188
|
+
export const useBottomSheetNavigation = () => useNavigation();
|
|
65
189
|
//# sourceMappingURL=router.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StackActions","StackRouter","nanoid","BottomSheetActions","snapTo","index","type","BottomSheetRouter","routerOptions","baseRouter","getInitialState","options","
|
|
1
|
+
{"version":3,"names":["StackActions","StackRouter","useNavigation","nanoid","BottomSheetActions","snapTo","index","type","dismiss","remove","ensureBaseRoute","state","baseRouteName","routeParamList","hasBaseRoute","routes","some","r","name","baseRoute","key","params","length","BottomSheetRouter","routerOptions","baseRouter","getInitialState","options","initialRouteName","routeNames","stateWithBaseRoute","stale","getStateForAction","action","routeIndex","target","source","findIndex","map","route","i","snapToIndex","snapToKey","pop","count","payload","maxPopCount","actualCount","Math","min","targetIndex","closingIndex","closing","popCount","routeKey","filter","_","getRehydratedState","partialState","routeGetIdList","actionCreators","useBottomSheetNavigation"],"sourceRoot":"../../../src","sources":["router/router.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,104 +1,237 @@
|
|
|
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
|
+
import Animated, { Easing, interpolate, interpolateColor, runOnJS, useAnimatedReaction, useAnimatedStyle, useSharedValue, withSpring, withTiming } from "react-native-reanimated";
|
|
2
3
|
import { BottomSheetBackdrop, BottomSheetModal, BottomSheetModalProvider } from "@gorhom/bottom-sheet";
|
|
4
|
+
import { useSafeAreaInsets } from "react-native-safe-area-context";
|
|
3
5
|
import { useTheme } from "@react-navigation/native";
|
|
4
|
-
import * as React from "react";
|
|
5
6
|
import { StatusBar } from "react-native";
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
7
|
+
import * as React from "react";
|
|
8
|
+
import { BottomSheetActions } from "./router";
|
|
9
|
+
const DEFAULT_SNAP_POINTS = ["66%"];
|
|
10
|
+
function AnimatedSheetWrapper({
|
|
11
|
+
route,
|
|
12
|
+
navigation,
|
|
13
|
+
descriptor,
|
|
14
|
+
isFullScreen,
|
|
15
|
+
previousIndex,
|
|
16
|
+
defaultStyle,
|
|
17
|
+
themeBackgroundStyle,
|
|
18
|
+
themeHandleIndicatorStyle
|
|
19
|
+
}) {
|
|
20
|
+
const {
|
|
21
|
+
options,
|
|
22
|
+
render
|
|
23
|
+
} = descriptor;
|
|
24
|
+
const {
|
|
25
|
+
index = 0,
|
|
26
|
+
snapPoints = DEFAULT_SNAP_POINTS,
|
|
27
|
+
animatedIndex: defaultAnimatedIndex,
|
|
28
|
+
onAnimate,
|
|
29
|
+
handleStyle,
|
|
30
|
+
backgroundStyle,
|
|
31
|
+
handleIndicatorStyle,
|
|
32
|
+
enableDynamicSizing,
|
|
33
|
+
iosModalSheetTypeOfAnimation,
|
|
34
|
+
clickThrough,
|
|
35
|
+
style,
|
|
36
|
+
...sheetProps
|
|
37
|
+
} = options;
|
|
38
|
+
|
|
39
|
+
// Calculate safe index
|
|
40
|
+
const safeIndex = Math.min(route.snapToIndex ?? index, snapPoints.length - 1);
|
|
41
|
+
|
|
42
|
+
// Create animatedIndex for this sheet
|
|
43
|
+
const animatedIndex = useSharedValue(0);
|
|
44
|
+
|
|
45
|
+
// Use animated reaction to watch animatedIndex and update isFullScreen reactively
|
|
46
|
+
useAnimatedReaction(() => animatedIndex.value, index => {
|
|
47
|
+
"worklet";
|
|
48
|
+
|
|
49
|
+
if (defaultAnimatedIndex) {
|
|
50
|
+
defaultAnimatedIndex.set(index);
|
|
51
|
+
}
|
|
52
|
+
if (!iosModalSheetTypeOfAnimation) {
|
|
53
|
+
if (isFullScreen.value > 0) isFullScreen.set(0);
|
|
54
|
+
previousIndex.set(index);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
if (isFullScreen.value < 0) {
|
|
58
|
+
isFullScreen.set(0);
|
|
59
|
+
}
|
|
60
|
+
const isClosing = index < 0 || previousIndex.value >= 0 && index < previousIndex.value - 0.05;
|
|
61
|
+
previousIndex.set(index);
|
|
62
|
+
if (isClosing) {
|
|
63
|
+
if (isFullScreen.value > 0.01) {
|
|
64
|
+
isFullScreen.set(withTiming(0, {
|
|
65
|
+
duration: 150 * 0.85,
|
|
66
|
+
easing: Easing.bezier(0.25, 0.1, 0.25, 1)
|
|
67
|
+
}));
|
|
68
|
+
}
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
const points = ["%90", "90%"];
|
|
72
|
+
const fullScreenIndex = snapPoints.findIndex(p => points.includes(p));
|
|
73
|
+
if (index >= fullScreenIndex - 0.5 && index <= fullScreenIndex + 0.5) {
|
|
74
|
+
isFullScreen.set(1);
|
|
75
|
+
} else if (index >= 0) {
|
|
76
|
+
isFullScreen.set(0);
|
|
77
|
+
}
|
|
78
|
+
}, [snapPoints, iosModalSheetTypeOfAnimation]);
|
|
79
|
+
return /*#__PURE__*/React.createElement(BottomSheetModalScreen, _extends({
|
|
80
|
+
route: route,
|
|
81
|
+
navigation: navigation,
|
|
82
|
+
index: safeIndex,
|
|
83
|
+
snapPoints: enableDynamicSizing ? undefined : snapPoints,
|
|
84
|
+
enableDynamicSizing: enableDynamicSizing,
|
|
85
|
+
animatedIndex: animatedIndex,
|
|
86
|
+
clickThrough: clickThrough,
|
|
87
|
+
animationConfigs: {
|
|
88
|
+
duration: 300,
|
|
89
|
+
easing: Easing.bezier(0.25, 0.1, 0.25, 1)
|
|
90
|
+
},
|
|
91
|
+
onAnimate: (from, to, ...args) => {
|
|
92
|
+
if (to >= isFullScreen.value && to > snapPoints.length - 1) {
|
|
93
|
+
isFullScreen.set(0);
|
|
94
|
+
} else if (to > 0 && to === previousIndex.value && isFullScreen.value === 0) {
|
|
95
|
+
isFullScreen.set(1);
|
|
96
|
+
}
|
|
97
|
+
onAnimate?.(from, to, ...args);
|
|
98
|
+
},
|
|
99
|
+
topInset: 0,
|
|
100
|
+
bottomInset: 0,
|
|
101
|
+
style: [defaultStyle, style],
|
|
102
|
+
backgroundStyle: [themeBackgroundStyle, backgroundStyle],
|
|
103
|
+
handleIndicatorStyle: [themeHandleIndicatorStyle, handleIndicatorStyle],
|
|
104
|
+
handleStyle: [themeBackgroundStyle, {
|
|
105
|
+
borderRadius: 24
|
|
106
|
+
}, handleStyle]
|
|
107
|
+
}, sheetProps), render?.());
|
|
108
|
+
}
|
|
8
109
|
function BottomSheetModalScreen({
|
|
9
|
-
|
|
110
|
+
route,
|
|
10
111
|
navigation,
|
|
11
112
|
clickThrough,
|
|
12
|
-
iosModalSheetTypeOfAnimation,
|
|
13
113
|
opacity,
|
|
114
|
+
animatedIndex,
|
|
115
|
+
onChange,
|
|
14
116
|
children,
|
|
15
117
|
...props
|
|
16
118
|
}) {
|
|
17
119
|
const ref = React.useRef(null);
|
|
18
|
-
const
|
|
120
|
+
const lastSnapIndexRef = React.useRef(route.snapToIndex ?? props.index ?? 0);
|
|
19
121
|
|
|
20
122
|
// Present on mount.
|
|
21
123
|
React.useEffect(() => {
|
|
22
124
|
ref.current?.present();
|
|
23
125
|
}, []);
|
|
126
|
+
|
|
127
|
+
// Track mount state to avoid dismissing on unmount
|
|
24
128
|
const isMounted = React.useRef(true);
|
|
25
129
|
React.useEffect(() => {
|
|
26
130
|
return () => {
|
|
27
131
|
isMounted.current = false;
|
|
28
132
|
};
|
|
29
133
|
}, []);
|
|
134
|
+
|
|
135
|
+
// Handle route closing state
|
|
30
136
|
React.useEffect(() => {
|
|
31
|
-
if (
|
|
32
|
-
ref.current?.
|
|
137
|
+
if (route.closing) {
|
|
138
|
+
ref.current?.dismiss();
|
|
33
139
|
}
|
|
34
|
-
}, [
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
140
|
+
}, [route.closing]);
|
|
141
|
+
|
|
142
|
+
// Handle snap point changes from navigation actions
|
|
143
|
+
React.useEffect(() => {
|
|
144
|
+
if (route.snapToIndex != null && route.snapToIndex !== lastSnapIndexRef.current) {
|
|
145
|
+
ref.current?.snapToIndex(route.snapToIndex);
|
|
146
|
+
lastSnapIndexRef.current = route.snapToIndex;
|
|
147
|
+
}
|
|
148
|
+
}, [route.snapToIndex, route.snapToKey]);
|
|
149
|
+
const handleChange = React.useCallback(newIndex => {
|
|
150
|
+
const currentIndex = lastSnapIndexRef.current;
|
|
151
|
+
lastSnapIndexRef.current = newIndex;
|
|
38
152
|
if (newIndex >= 0 && newIndex !== currentIndex) {
|
|
39
|
-
navigation.snapTo(newIndex);
|
|
153
|
+
navigation.dispatch(BottomSheetActions.snapTo(newIndex));
|
|
40
154
|
}
|
|
41
155
|
}, [navigation]);
|
|
42
|
-
const
|
|
43
|
-
// BottomSheetModal will call onDismiss on unmount,
|
|
44
|
-
// we
|
|
156
|
+
const handleDismiss = React.useCallback(() => {
|
|
157
|
+
// BottomSheetModal will call onDismiss on unmount, but we don't want that
|
|
158
|
+
// since we handle navigation state separately
|
|
45
159
|
if (isMounted.current) {
|
|
46
|
-
navigation.
|
|
160
|
+
navigation.dispatch({
|
|
161
|
+
...BottomSheetActions.remove(),
|
|
162
|
+
source: route.key
|
|
163
|
+
});
|
|
47
164
|
}
|
|
48
|
-
}, [navigation]);
|
|
49
|
-
return /*#__PURE__*/React.createElement(BottomSheetModal, _extends({
|
|
165
|
+
}, [navigation, route.key]);
|
|
166
|
+
return /*#__PURE__*/React.createElement(BottomSheetModal, _extends({}, props, {
|
|
50
167
|
ref: ref,
|
|
51
|
-
onDismiss:
|
|
52
|
-
onChange:
|
|
53
|
-
|
|
54
|
-
|
|
168
|
+
onDismiss: handleDismiss,
|
|
169
|
+
onChange: handleChange,
|
|
170
|
+
animatedIndex: animatedIndex,
|
|
171
|
+
index: props.index,
|
|
172
|
+
backdropComponent: backdropProps => /*#__PURE__*/React.createElement(BottomSheetBackdrop, _extends({}, backdropProps, {
|
|
55
173
|
appearsOnIndex: 0,
|
|
56
174
|
disappearsOnIndex: -1,
|
|
57
175
|
enableTouchThrough: !!clickThrough,
|
|
58
|
-
opacity: opacity
|
|
176
|
+
opacity: opacity ?? 0.45
|
|
59
177
|
}))
|
|
60
|
-
}
|
|
178
|
+
}), children);
|
|
61
179
|
}
|
|
62
|
-
const DEFAULT_SNAP_POINTS = ["66%"];
|
|
63
180
|
export function BottomSheetView({
|
|
64
181
|
state,
|
|
182
|
+
navigation,
|
|
65
183
|
descriptors
|
|
66
184
|
}) {
|
|
67
185
|
const {
|
|
68
186
|
colors
|
|
69
187
|
} = useTheme();
|
|
70
188
|
const {
|
|
71
|
-
top
|
|
189
|
+
top,
|
|
190
|
+
bottom,
|
|
191
|
+
left,
|
|
192
|
+
right
|
|
72
193
|
} = useSafeAreaInsets();
|
|
73
194
|
const themeBackgroundStyle = React.useMemo(() => ({
|
|
74
|
-
|
|
195
|
+
borderCurve: "continuous",
|
|
196
|
+
backgroundColor: colors.card,
|
|
197
|
+
borderTopLeftRadius: 20,
|
|
198
|
+
borderTopRightRadius: 20
|
|
75
199
|
}), [colors.card]);
|
|
76
200
|
const themeHandleIndicatorStyle = React.useMemo(() => ({
|
|
77
201
|
backgroundColor: colors.border,
|
|
78
202
|
height: 5,
|
|
79
203
|
width: 50
|
|
80
204
|
}), [colors.border]);
|
|
205
|
+
const defaultStyle = React.useMemo(() => ({
|
|
206
|
+
paddingBottom: bottom,
|
|
207
|
+
paddingLeft: left,
|
|
208
|
+
paddingRight: right
|
|
209
|
+
}), [bottom, left, right]);
|
|
81
210
|
|
|
82
211
|
// IOS modal sheet type of animation
|
|
83
|
-
const isFullScreen = useSharedValue(
|
|
212
|
+
const isFullScreen = useSharedValue(-1);
|
|
213
|
+
const previousIndex = useSharedValue(-1);
|
|
84
214
|
const colorStyle = useAnimatedStyle(() => ({
|
|
85
215
|
flex: 1,
|
|
86
|
-
backgroundColor: interpolateColor(isFullScreen.value, [0, 1], ["transparent", "#000"])
|
|
216
|
+
backgroundColor: withSpring(interpolateColor(isFullScreen.value, [0, 1], ["transparent", "#000"]), {
|
|
217
|
+
duration: 150
|
|
218
|
+
})
|
|
87
219
|
}));
|
|
88
220
|
const animatedStyle = useAnimatedStyle(() => ({
|
|
89
221
|
flex: 1,
|
|
222
|
+
overflow: "hidden",
|
|
223
|
+
borderRadius: interpolate(isFullScreen.value, [0, 0.8, 1], [0, 20, 24], "clamp"),
|
|
90
224
|
transform: [{
|
|
91
|
-
scaleX: withSpring(interpolate(isFullScreen.value, [0,
|
|
92
|
-
|
|
93
|
-
stiffness: 100
|
|
225
|
+
scaleX: withSpring(interpolate(isFullScreen.value, [0, 0.8], [1, 0.92], "clamp"), {
|
|
226
|
+
duration: 150
|
|
94
227
|
})
|
|
95
228
|
}, {
|
|
96
|
-
translateY: withSpring(interpolate(isFullScreen.value, [0, 1], [0, top + 5]), {
|
|
97
|
-
|
|
98
|
-
|
|
229
|
+
translateY: withSpring(interpolate(isFullScreen.value, [0, 0.8, 1], [0, top, top + 5], "clamp"), {
|
|
230
|
+
duration: 150,
|
|
231
|
+
dampingRatio: 1.5
|
|
99
232
|
})
|
|
100
233
|
}]
|
|
101
|
-
}));
|
|
234
|
+
}), [top]);
|
|
102
235
|
|
|
103
236
|
// Since background color is white, we need to set status bar to light
|
|
104
237
|
const setStatusBar = StatusBar.setBarStyle;
|
|
@@ -110,64 +243,41 @@ export function BottomSheetView({
|
|
|
110
243
|
}
|
|
111
244
|
}, []);
|
|
112
245
|
|
|
113
|
-
//
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
const firstRoute = state.routes[0];
|
|
117
|
-
if (!firstRoute) {
|
|
118
|
-
// no routes at all, probably shouldn't happen, but let's be defensive
|
|
246
|
+
// Get the base (first) route - this is the main content
|
|
247
|
+
const baseRoute = state.routes[0];
|
|
248
|
+
if (!baseRoute) {
|
|
119
249
|
return null;
|
|
120
250
|
}
|
|
121
|
-
const
|
|
122
|
-
if (!
|
|
123
|
-
// if we don't have a descriptor for the first route, bail out
|
|
251
|
+
const baseDescriptor = descriptors[baseRoute.key];
|
|
252
|
+
if (!baseDescriptor) {
|
|
124
253
|
return null;
|
|
125
254
|
}
|
|
255
|
+
|
|
256
|
+
// Sheet routes are all routes after the base route
|
|
257
|
+
const sheetRoutes = state.routes.slice(1);
|
|
258
|
+
const hasSheets = sheetRoutes.length > 0;
|
|
126
259
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Animated.View, {
|
|
127
260
|
style: colorStyle
|
|
128
261
|
}, /*#__PURE__*/React.createElement(Animated.View, {
|
|
129
262
|
style: animatedStyle
|
|
130
|
-
},
|
|
263
|
+
}, baseDescriptor.render?.())), hasSheets && /*#__PURE__*/React.createElement(BottomSheetModalProvider, null, sheetRoutes.map(route => {
|
|
264
|
+
// Skip routes that are being removed
|
|
265
|
+
if (route.closing && !descriptors[route.key]) {
|
|
266
|
+
return null;
|
|
267
|
+
}
|
|
131
268
|
const descriptor = descriptors[route.key];
|
|
132
269
|
if (!descriptor) return null;
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
render
|
|
137
|
-
} = descriptor;
|
|
138
|
-
const {
|
|
139
|
-
index,
|
|
140
|
-
snapPoints,
|
|
141
|
-
handleStyle,
|
|
142
|
-
backgroundStyle,
|
|
143
|
-
handleIndicatorStyle,
|
|
144
|
-
enableDynamicSizing,
|
|
145
|
-
...sheetProps
|
|
146
|
-
} = options;
|
|
147
|
-
return /*#__PURE__*/React.createElement(BottomSheetModalScreen, _extends({
|
|
148
|
-
key: route.key
|
|
149
|
-
// Make sure index is in range, it could be out if snapToIndex is persisted
|
|
150
|
-
// and snapPoints is changed.
|
|
151
|
-
,
|
|
152
|
-
index: Math.min(route.snapToIndex ?? index ?? 0, !!snapPoints ? snapPoints.length - 1 : 0),
|
|
153
|
-
snapPoints: !snapPoints && !enableDynamicSizing ? DEFAULT_SNAP_POINTS : snapPoints,
|
|
154
|
-
onAnimate: (_, to) => {
|
|
155
|
-
// @ts-ignore TODO: Fix types
|
|
156
|
-
isFullScreen.value = ["%100", "100%"].includes(snapPoints?.[to]) ? 1 : 0;
|
|
157
|
-
},
|
|
158
|
-
animationConfigs: {
|
|
159
|
-
duration: 300,
|
|
160
|
-
easing: Easing.bezier(0.25, 0.1, 0.25, 1)
|
|
161
|
-
},
|
|
162
|
-
topInset: top + 18,
|
|
270
|
+
return /*#__PURE__*/React.createElement(AnimatedSheetWrapper, {
|
|
271
|
+
key: route.key,
|
|
272
|
+
route: route,
|
|
163
273
|
navigation: navigation,
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
}
|
|
274
|
+
descriptor: descriptor,
|
|
275
|
+
isFullScreen: isFullScreen,
|
|
276
|
+
previousIndex: previousIndex,
|
|
277
|
+
defaultStyle: defaultStyle,
|
|
278
|
+
themeBackgroundStyle: themeBackgroundStyle,
|
|
279
|
+
themeHandleIndicatorStyle: themeHandleIndicatorStyle
|
|
280
|
+
});
|
|
171
281
|
})));
|
|
172
282
|
}
|
|
173
283
|
//# sourceMappingURL=view.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BottomSheetBackdrop","BottomSheetModal","BottomSheetModalProvider","useTheme","React","StatusBar","Animated","Easing","interpolate","interpolateColor","runOnJS","useAnimatedReaction","useAnimatedStyle","useSharedValue","withSpring","useSafeAreaInsets","BottomSheetModalScreen","index","navigation","clickThrough","iosModalSheetTypeOfAnimation","opacity","children","props","ref","useRef","lastIndexRef","useEffect","current","present","isMounted","snapToIndex","onChange","useCallback","newIndex","currentIndex","snapTo","onDismiss","goBack","createElement","_extends","backdropComponent","appearsOnIndex","disappearsOnIndex","enableTouchThrough","DEFAULT_SNAP_POINTS","BottomSheetView","state","descriptors","colors","top","themeBackgroundStyle","useMemo","backgroundColor","card","themeHandleIndicatorStyle","border","height","width","isFullScreen","colorStyle","flex","value","animatedStyle","transform","scaleX","damping","stiffness","translateY","setStatusBar","setBarStyle","currentValue","shouldRenderProvider","routes","length","firstRoute","firstDescriptor","key","Fragment","View","style","render","slice","map","route","descriptor","options","snapPoints","handleStyle","backgroundStyle","handleIndicatorStyle","enableDynamicSizing","sheetProps","Math","min","onAnimate","_","to","includes","animationConfigs","duration","easing","bezier","topInset","borderRadius"],"sourceRoot":"../../../src","sources":["router/view.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Animated","Easing","interpolate","interpolateColor","runOnJS","useAnimatedReaction","useAnimatedStyle","useSharedValue","withSpring","withTiming","BottomSheetBackdrop","BottomSheetModal","BottomSheetModalProvider","useSafeAreaInsets","useTheme","StatusBar","React","BottomSheetActions","DEFAULT_SNAP_POINTS","AnimatedSheetWrapper","route","navigation","descriptor","isFullScreen","previousIndex","defaultStyle","themeBackgroundStyle","themeHandleIndicatorStyle","options","render","index","snapPoints","animatedIndex","defaultAnimatedIndex","onAnimate","handleStyle","backgroundStyle","handleIndicatorStyle","enableDynamicSizing","iosModalSheetTypeOfAnimation","clickThrough","style","sheetProps","safeIndex","Math","min","snapToIndex","length","value","set","isClosing","duration","easing","bezier","points","fullScreenIndex","findIndex","p","includes","createElement","BottomSheetModalScreen","_extends","undefined","animationConfigs","from","to","args","topInset","bottomInset","borderRadius","opacity","onChange","children","props","ref","useRef","lastSnapIndexRef","useEffect","current","present","isMounted","closing","dismiss","snapToKey","handleChange","useCallback","newIndex","currentIndex","dispatch","snapTo","handleDismiss","remove","source","key","onDismiss","backdropComponent","backdropProps","appearsOnIndex","disappearsOnIndex","enableTouchThrough","BottomSheetView","state","descriptors","colors","top","bottom","left","right","useMemo","borderCurve","backgroundColor","card","borderTopLeftRadius","borderTopRightRadius","border","height","width","paddingBottom","paddingLeft","paddingRight","colorStyle","flex","animatedStyle","overflow","transform","scaleX","translateY","dampingRatio","setStatusBar","setBarStyle","currentValue","baseRoute","routes","baseDescriptor","sheetRoutes","slice","hasSheets","Fragment","View","map"],"sourceRoot":"../../../src","sources":["router/view.tsx"],"mappings":"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","ignoreList":[]}
|