@niibase/bottom-sheet-manager 1.1.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/LICENSE +21 -0
- package/README.md +147 -0
- package/lib/commonjs/events.js +35 -0
- package/lib/commonjs/events.js.map +1 -0
- package/lib/commonjs/index.js +85 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/manager.js +171 -0
- package/lib/commonjs/manager.js.map +1 -0
- package/lib/commonjs/provider.js +229 -0
- package/lib/commonjs/provider.js.map +1 -0
- package/lib/commonjs/router/index.js +100 -0
- package/lib/commonjs/router/index.js.map +1 -0
- package/lib/commonjs/router/router.js +72 -0
- package/lib/commonjs/router/router.js.map +1 -0
- package/lib/commonjs/router/types.js +6 -0
- package/lib/commonjs/router/types.js.map +1 -0
- package/lib/commonjs/router/view.js +180 -0
- package/lib/commonjs/router/view.js.map +1 -0
- package/lib/commonjs/sheet.js +240 -0
- package/lib/commonjs/sheet.js.map +1 -0
- package/lib/commonjs/types.js +6 -0
- package/lib/commonjs/types.js.map +1 -0
- package/lib/module/events.js +29 -0
- package/lib/module/events.js.map +1 -0
- package/lib/module/index.js +6 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/manager.js +165 -0
- package/lib/module/manager.js.map +1 -0
- package/lib/module/provider.js +210 -0
- package/lib/module/provider.js.map +1 -0
- package/lib/module/router/index.js +79 -0
- package/lib/module/router/index.js.map +1 -0
- package/lib/module/router/router.js +65 -0
- package/lib/module/router/router.js.map +1 -0
- package/lib/module/router/types.js +2 -0
- package/lib/module/router/types.js.map +1 -0
- package/lib/module/router/view.js +173 -0
- package/lib/module/router/view.js.map +1 -0
- package/lib/module/sheet.js +232 -0
- package/lib/module/sheet.js.map +1 -0
- package/lib/module/types.js +2 -0
- package/lib/module/types.js.map +1 -0
- package/lib/typescript/events.d.ts +16 -0
- package/lib/typescript/events.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +6 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/manager.d.ts +78 -0
- package/lib/typescript/manager.d.ts.map +1 -0
- package/lib/typescript/provider.d.ts +69 -0
- package/lib/typescript/provider.d.ts.map +1 -0
- package/lib/typescript/router/index.d.ts +59 -0
- package/lib/typescript/router/index.d.ts.map +1 -0
- package/lib/typescript/router/router.d.ts +47 -0
- package/lib/typescript/router/router.d.ts.map +1 -0
- package/lib/typescript/router/types.d.ts +46 -0
- package/lib/typescript/router/types.d.ts.map +1 -0
- package/lib/typescript/router/view.d.ts +11 -0
- package/lib/typescript/router/view.d.ts.map +1 -0
- package/lib/typescript/sheet.d.ts +19 -0
- package/lib/typescript/sheet.d.ts.map +1 -0
- package/lib/typescript/types.d.ts +125 -0
- package/lib/typescript/types.d.ts.map +1 -0
- package/package.json +102 -0
- package/src/events.ts +40 -0
- package/src/index.ts +11 -0
- package/src/manager.ts +223 -0
- package/src/provider.tsx +293 -0
- package/src/router/index.tsx +130 -0
- package/src/router/router.ts +94 -0
- package/src/router/types.ts +117 -0
- package/src/router/view.tsx +265 -0
- package/src/sheet.tsx +350 -0
- package/src/types.ts +153 -0
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SheetProvider = SheetProvider;
|
|
7
|
+
exports.providerRegistryStack = exports.SheetRefContext = void 0;
|
|
8
|
+
exports.registerSheet = registerSheet;
|
|
9
|
+
exports.sheetsRegistry = void 0;
|
|
10
|
+
exports.useOnSheet = useOnSheet;
|
|
11
|
+
exports.useSheetIDContext = exports.useSheetAnimationContext = exports.useProviderContext = void 0;
|
|
12
|
+
exports.useSheetPayload = useSheetPayload;
|
|
13
|
+
exports.useSheetRef = void 0;
|
|
14
|
+
var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
|
|
15
|
+
var _bottomSheet = require("@gorhom/bottom-sheet");
|
|
16
|
+
var _reactNative = require("react-native");
|
|
17
|
+
var _react = _interopRequireDefault(require("react"));
|
|
18
|
+
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
19
|
+
var _events = require("./events");
|
|
20
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
21
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
22
|
+
const providerRegistryStack = exports.providerRegistryStack = [];
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* An object that holds all the sheet components against their ids.
|
|
26
|
+
*/
|
|
27
|
+
const sheetsRegistry = exports.sheetsRegistry = {
|
|
28
|
+
global: {}
|
|
29
|
+
};
|
|
30
|
+
// Registers your Sheet with the SheetProvider.
|
|
31
|
+
function registerSheet(id, Sheet, ...contexts) {
|
|
32
|
+
if (!id || !Sheet) return;
|
|
33
|
+
if (!contexts || contexts.length === 0) contexts = ["global"];
|
|
34
|
+
for (let context of contexts) {
|
|
35
|
+
const registry = !sheetsRegistry[context] ? sheetsRegistry[context] = {} : sheetsRegistry[context];
|
|
36
|
+
registry[id] = Sheet;
|
|
37
|
+
_events.eventManager.publish(`${context}-on-register`);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* The SheetProvider makes available the sheets in a given context. The default context is
|
|
43
|
+
* `global`. However if you want to render a Sheet within another sheet or if you want to render
|
|
44
|
+
* Sheets in a modal. You can use a separate Provider with a custom context value.
|
|
45
|
+
*
|
|
46
|
+
* For example
|
|
47
|
+
* ```ts
|
|
48
|
+
* // Define your SheetProvider in the component/modal where
|
|
49
|
+
* // you want to show some Sheets.
|
|
50
|
+
* <SheetProvider context="local-context" />
|
|
51
|
+
*
|
|
52
|
+
* // Then register your sheet when for example the
|
|
53
|
+
* // Modal component renders.
|
|
54
|
+
*
|
|
55
|
+
* registerSheet('local-sheet', LocalSheet,'local-context');
|
|
56
|
+
*
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
function SheetProvider({
|
|
60
|
+
iosModalSheetTypeOfAnimation = false,
|
|
61
|
+
context = "global",
|
|
62
|
+
duration = 300,
|
|
63
|
+
children
|
|
64
|
+
}) {
|
|
65
|
+
const {
|
|
66
|
+
top
|
|
67
|
+
} = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
|
|
68
|
+
const [, forceUpdate] = _react.default.useReducer(x => x + 1, 0);
|
|
69
|
+
const sheetIds = Object.keys(sheetsRegistry[context] || sheetsRegistry["global"] || {});
|
|
70
|
+
|
|
71
|
+
// Rerender when a new sheet is added.
|
|
72
|
+
const onRegister = _react.default.useCallback(forceUpdate, [forceUpdate]);
|
|
73
|
+
|
|
74
|
+
// IOS modal sheet type of animation
|
|
75
|
+
const isFullScreen = (0, _reactNativeReanimated.useSharedValue)(-1);
|
|
76
|
+
const colorStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
|
|
77
|
+
flex: 1,
|
|
78
|
+
backgroundColor: (0, _reactNativeReanimated.interpolateColor)(isFullScreen.value, [0, 1], ["transparent", "#000"])
|
|
79
|
+
}));
|
|
80
|
+
const animatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
|
|
81
|
+
flex: 1,
|
|
82
|
+
overflow: "hidden",
|
|
83
|
+
borderRadius: (0, _reactNativeReanimated.interpolate)(isFullScreen.value, [0, 0.8, 1], [0, 20, 24], "clamp"),
|
|
84
|
+
transform: [{
|
|
85
|
+
scaleX: (0, _reactNativeReanimated.withTiming)((0, _reactNativeReanimated.interpolate)(isFullScreen.value, [0, 0.98, 1], [1, 1, 0.92], "clamp"), {
|
|
86
|
+
duration
|
|
87
|
+
})
|
|
88
|
+
}, {
|
|
89
|
+
translateY: (0, _reactNativeReanimated.withSpring)((0, _reactNativeReanimated.interpolate)(isFullScreen.value, [0, 0.99, 1], [0, top, top + 5], "clamp"), {
|
|
90
|
+
duration,
|
|
91
|
+
dampingRatio: 1.5
|
|
92
|
+
})
|
|
93
|
+
}]
|
|
94
|
+
}), [duration]);
|
|
95
|
+
|
|
96
|
+
// Since background color is white, we need to set status bar to light
|
|
97
|
+
const setStatusBar = _reactNative.StatusBar.setBarStyle;
|
|
98
|
+
(0, _reactNativeReanimated.useAnimatedReaction)(() => isFullScreen.value, currentValue => {
|
|
99
|
+
"worklet";
|
|
100
|
+
|
|
101
|
+
if (currentValue > -1) {
|
|
102
|
+
(0, _reactNativeReanimated.runOnJS)(setStatusBar)(currentValue >= 0.5 ? "light-content" : "default");
|
|
103
|
+
}
|
|
104
|
+
}, []);
|
|
105
|
+
_react.default.useEffect(() => {
|
|
106
|
+
providerRegistryStack.indexOf(context) > -1 ? providerRegistryStack.indexOf(context) : providerRegistryStack.push(context) - 1;
|
|
107
|
+
const unsub = _events.eventManager.subscribe(`${context}-on-register`, onRegister);
|
|
108
|
+
return () => {
|
|
109
|
+
providerRegistryStack.splice(providerRegistryStack.indexOf(context), 1);
|
|
110
|
+
unsub?.unsubscribe();
|
|
111
|
+
};
|
|
112
|
+
}, [context, onRegister]);
|
|
113
|
+
return /*#__PURE__*/_react.default.createElement(SheetAnimationContext.Provider, {
|
|
114
|
+
value: {
|
|
115
|
+
isFullScreen,
|
|
116
|
+
iosModalSheetTypeOfAnimation
|
|
117
|
+
}
|
|
118
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNativeReanimated.default.View, {
|
|
119
|
+
style: colorStyle
|
|
120
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNativeReanimated.default.View, {
|
|
121
|
+
style: animatedStyle
|
|
122
|
+
}, children)), /*#__PURE__*/_react.default.createElement(_bottomSheet.BottomSheetModalProvider, null, sheetIds.map(id => /*#__PURE__*/_react.default.createElement(RenderSheet, {
|
|
123
|
+
key: id,
|
|
124
|
+
id: id,
|
|
125
|
+
context: context,
|
|
126
|
+
duration: duration
|
|
127
|
+
}))));
|
|
128
|
+
}
|
|
129
|
+
const ProviderContext = /*#__PURE__*/_react.default.createContext("global");
|
|
130
|
+
const SheetIDContext = /*#__PURE__*/_react.default.createContext(undefined);
|
|
131
|
+
const SheetAnimationContext = /*#__PURE__*/_react.default.createContext({
|
|
132
|
+
isFullScreen: {
|
|
133
|
+
value: 0
|
|
134
|
+
},
|
|
135
|
+
iosModalSheetTypeOfAnimation: false
|
|
136
|
+
});
|
|
137
|
+
const SheetRefContext = exports.SheetRefContext = /*#__PURE__*/_react.default.createContext({});
|
|
138
|
+
const SheetPayloadContext = /*#__PURE__*/_react.default.createContext(undefined);
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Get id of the current context.
|
|
142
|
+
*/
|
|
143
|
+
const useProviderContext = () => _react.default.useContext(ProviderContext);
|
|
144
|
+
/**
|
|
145
|
+
* Get id of the current sheet
|
|
146
|
+
*/
|
|
147
|
+
exports.useProviderContext = useProviderContext;
|
|
148
|
+
const useSheetIDContext = () => _react.default.useContext(SheetIDContext);
|
|
149
|
+
/**
|
|
150
|
+
* Get the current sheet animation context.
|
|
151
|
+
*/
|
|
152
|
+
exports.useSheetIDContext = useSheetIDContext;
|
|
153
|
+
const useSheetAnimationContext = () => _react.default.useContext(SheetAnimationContext);
|
|
154
|
+
/**
|
|
155
|
+
* Get the current Sheet's internal ref.
|
|
156
|
+
*/
|
|
157
|
+
exports.useSheetAnimationContext = useSheetAnimationContext;
|
|
158
|
+
const useSheetRef = () => _react.default.useContext(SheetRefContext);
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Get the payload this sheet was opened with.
|
|
162
|
+
*/
|
|
163
|
+
exports.useSheetRef = useSheetRef;
|
|
164
|
+
function useSheetPayload() {
|
|
165
|
+
return _react.default.useContext(SheetPayloadContext);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Listen to sheet events.
|
|
170
|
+
*/
|
|
171
|
+
function useOnSheet(id, type, listener) {
|
|
172
|
+
_react.default.useEffect(() => {
|
|
173
|
+
const subscription = _events.eventManager.subscribe(`${type}_${id}`, listener);
|
|
174
|
+
return () => subscription.unsubscribe();
|
|
175
|
+
}, [id, listener]);
|
|
176
|
+
}
|
|
177
|
+
const RenderSheet = ({
|
|
178
|
+
id,
|
|
179
|
+
context,
|
|
180
|
+
duration
|
|
181
|
+
}) => {
|
|
182
|
+
const [payload, setPayload] = _react.default.useState();
|
|
183
|
+
const [visible, setVisible] = _react.default.useState(false);
|
|
184
|
+
const ref = _react.default.useRef(null);
|
|
185
|
+
const Sheet = context.startsWith("$$-auto-") ? sheetsRegistry?.global?.[id] : sheetsRegistry[context] ? sheetsRegistry[context]?.[id] : undefined;
|
|
186
|
+
const onShow = _react.default.useCallback((data, ctx = "global", reopened) => {
|
|
187
|
+
if (ctx !== context) return;
|
|
188
|
+
if (!reopened) setPayload(data);
|
|
189
|
+
setVisible(true);
|
|
190
|
+
}, [context]);
|
|
191
|
+
const onClose = _react.default.useCallback((_data, ctx = "global", reopened) => {
|
|
192
|
+
if (context !== ctx) return;
|
|
193
|
+
if (!reopened) {
|
|
194
|
+
setPayload(undefined);
|
|
195
|
+
setTimeout(() => setVisible(false), Math.max(duration ?? 300, 300));
|
|
196
|
+
} else {
|
|
197
|
+
setVisible(false);
|
|
198
|
+
}
|
|
199
|
+
}, [context]);
|
|
200
|
+
const onHide = _react.default.useCallback((data, ctx = "global") => {
|
|
201
|
+
_events.eventManager.publish(`hide_${id}`, data, ctx);
|
|
202
|
+
}, [id]);
|
|
203
|
+
_react.default.useEffect(() => {
|
|
204
|
+
if (visible) {
|
|
205
|
+
_events.eventManager.publish(`show_${id}`, payload, context);
|
|
206
|
+
}
|
|
207
|
+
}, [context, id, payload, visible]);
|
|
208
|
+
_react.default.useEffect(() => {
|
|
209
|
+
let subs = [_events.eventManager.subscribe(`show_wrap_${id}`, onShow), _events.eventManager.subscribe(`onclose_${id}`, onClose), _events.eventManager.subscribe(`hide_wrap_${id}`, onHide)];
|
|
210
|
+
return () => {
|
|
211
|
+
subs.forEach(s => s.unsubscribe());
|
|
212
|
+
};
|
|
213
|
+
}, [id, context, onShow, onHide, onClose]);
|
|
214
|
+
if (!Sheet) return null;
|
|
215
|
+
return visible ? /*#__PURE__*/_react.default.createElement(ProviderContext.Provider, {
|
|
216
|
+
value: context
|
|
217
|
+
}, /*#__PURE__*/_react.default.createElement(SheetIDContext.Provider, {
|
|
218
|
+
value: id
|
|
219
|
+
}, /*#__PURE__*/_react.default.createElement(SheetRefContext.Provider, {
|
|
220
|
+
value: ref
|
|
221
|
+
}, /*#__PURE__*/_react.default.createElement(SheetPayloadContext.Provider, {
|
|
222
|
+
value: payload
|
|
223
|
+
}, /*#__PURE__*/_react.default.createElement(Sheet, {
|
|
224
|
+
id: id,
|
|
225
|
+
payload: payload,
|
|
226
|
+
context: context
|
|
227
|
+
}))))) : null;
|
|
228
|
+
};
|
|
229
|
+
//# sourceMappingURL=provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNativeSafeAreaContext","require","_bottomSheet","_reactNative","_react","_interopRequireDefault","_reactNativeReanimated","_interopRequireWildcard","_events","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","providerRegistryStack","exports","sheetsRegistry","global","registerSheet","id","Sheet","contexts","length","context","registry","eventManager","publish","SheetProvider","iosModalSheetTypeOfAnimation","duration","children","top","useSafeAreaInsets","forceUpdate","React","useReducer","x","sheetIds","keys","onRegister","useCallback","isFullScreen","useSharedValue","colorStyle","useAnimatedStyle","flex","backgroundColor","interpolateColor","value","animatedStyle","overflow","borderRadius","interpolate","transform","scaleX","withTiming","translateY","withSpring","dampingRatio","setStatusBar","StatusBar","setBarStyle","useAnimatedReaction","currentValue","runOnJS","useEffect","indexOf","push","unsub","subscribe","splice","unsubscribe","createElement","SheetAnimationContext","Provider","View","style","BottomSheetModalProvider","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":[]}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
createBottomSheetNavigator: true
|
|
8
|
+
};
|
|
9
|
+
exports.createBottomSheetNavigator = createBottomSheetNavigator;
|
|
10
|
+
var _native = require("@react-navigation/native");
|
|
11
|
+
var _react = _interopRequireDefault(require("react"));
|
|
12
|
+
var _router = require("./router");
|
|
13
|
+
var _view = require("./view");
|
|
14
|
+
var _types = require("./types");
|
|
15
|
+
Object.keys(_types).forEach(function (key) {
|
|
16
|
+
if (key === "default" || key === "__esModule") return;
|
|
17
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
18
|
+
if (key in exports && exports[key] === _types[key]) return;
|
|
19
|
+
Object.defineProperty(exports, key, {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function () {
|
|
22
|
+
return _types[key];
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
27
|
+
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); }
|
|
28
|
+
function BottomSheetNavigator({
|
|
29
|
+
id,
|
|
30
|
+
children,
|
|
31
|
+
screenListeners,
|
|
32
|
+
screenOptions,
|
|
33
|
+
...rest
|
|
34
|
+
}) {
|
|
35
|
+
const {
|
|
36
|
+
state,
|
|
37
|
+
descriptors,
|
|
38
|
+
navigation,
|
|
39
|
+
NavigationContent
|
|
40
|
+
} = (0, _native.useNavigationBuilder)(_router.BottomSheetRouter, {
|
|
41
|
+
id,
|
|
42
|
+
children,
|
|
43
|
+
screenListeners,
|
|
44
|
+
screenOptions
|
|
45
|
+
});
|
|
46
|
+
return /*#__PURE__*/_react.default.createElement(NavigationContent, null, /*#__PURE__*/_react.default.createElement(_view.BottomSheetView, _extends({}, rest, {
|
|
47
|
+
state: state,
|
|
48
|
+
navigation: navigation,
|
|
49
|
+
descriptors: descriptors
|
|
50
|
+
})));
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* To use BottomSheetNavigator with expo-router, the first screen should be your app content
|
|
55
|
+
* and add a border radius of 24px to the root view if want to snap to 100%.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```tsx
|
|
59
|
+
* import {
|
|
60
|
+
* createBottomSheetNavigator,
|
|
61
|
+
* BottomSheetNavigationOptions,
|
|
62
|
+
* BottomSheetNavigationEventMap,
|
|
63
|
+
* BottomSheetNavigationState,
|
|
64
|
+
* } from "@repo/bottom-sheet";
|
|
65
|
+
* import { Slot, withLayoutContext } from "expo-router";
|
|
66
|
+
*
|
|
67
|
+
* const { Navigator } = createBottomSheetNavigator();
|
|
68
|
+
*
|
|
69
|
+
* const BottomSheet = withLayoutContext<
|
|
70
|
+
* BottomSheetNavigationOptions,
|
|
71
|
+
* typeof Navigator,
|
|
72
|
+
* BottomSheetNavigationState<any>,
|
|
73
|
+
* BottomSheetNavigationEventMap
|
|
74
|
+
* >(Navigator);
|
|
75
|
+
*
|
|
76
|
+
* export const unstable_settings = {
|
|
77
|
+
* initialRouteName: "index",
|
|
78
|
+
* };
|
|
79
|
+
*
|
|
80
|
+
* export default function Layout() {
|
|
81
|
+
* if (typeof window === "undefined") return <Slot />;
|
|
82
|
+
* return (
|
|
83
|
+
* <BottomSheet
|
|
84
|
+
* screenOptions={
|
|
85
|
+
* {
|
|
86
|
+
* // API Reference: `@repo/design/bottom-sheet/types.ts`
|
|
87
|
+
* // And: https://gorhom.github.io/react-native-bottom-sheet/modal/props/
|
|
88
|
+
* }
|
|
89
|
+
* }
|
|
90
|
+
*. />
|
|
91
|
+
* );
|
|
92
|
+
* }
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
function createBottomSheetNavigator(config) {
|
|
96
|
+
// We call `createNavigatorFactory` with our un-typed navigator
|
|
97
|
+
// but pass in the config to get the typed container
|
|
98
|
+
return (0, _native.createNavigatorFactory)(BottomSheetNavigator)(config);
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_native","require","_react","_interopRequireDefault","_router","_view","_types","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","e","__esModule","default","_extends","assign","bind","n","arguments","length","t","r","apply","BottomSheetNavigator","id","children","screenListeners","screenOptions","rest","state","descriptors","navigation","NavigationContent","useNavigationBuilder","BottomSheetRouter","createElement","BottomSheetView","createBottomSheetNavigator","config","createNavigatorFactory"],"sourceRoot":"../../../src","sources":["router/index.tsx"],"mappings":";;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAQA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,OAAA,GAAAH,OAAA;AASA,IAAAI,KAAA,GAAAJ,OAAA;AA8GA,IAAAK,MAAA,GAAAL,OAAA;AAAAM,MAAA,CAAAC,IAAA,CAAAF,MAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,MAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,MAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAAwB,SAAAP,uBAAAgB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,SAAA,WAAAA,QAAA,GAAAf,MAAA,CAAAgB,MAAA,GAAAhB,MAAA,CAAAgB,MAAA,CAAAC,IAAA,eAAAC,CAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAO,SAAA,CAAAC,MAAA,EAAAR,CAAA,UAAAS,CAAA,GAAAF,SAAA,CAAAP,CAAA,YAAAU,CAAA,IAAAD,CAAA,OAAAhB,cAAA,CAAAC,IAAA,CAAAe,CAAA,EAAAC,CAAA,MAAAJ,CAAA,CAAAI,CAAA,IAAAD,CAAA,CAAAC,CAAA,aAAAJ,CAAA,KAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AA5GxB,SAASK,oBAAoBA,CAAC;EAC5BC,EAAE;EACFC,QAAQ;EACRC,eAAe;EACfC,aAAa;EACb,GAAGC;AACsB,CAAC,EAAE;EAC5B,MAAM;IAAEC,KAAK;IAAEC,WAAW;IAAEC,UAAU;IAAEC;EAAkB,CAAC,GAAG,IAAAC,4BAAoB,EAMhFC,yBAAiB,EAAE;IACnBV,EAAE;IACFC,QAAQ;IACRC,eAAe;IACfC;EACF,CAAC,CAAC;EAEF,oBACEjC,MAAA,CAAAmB,OAAA,CAAAsB,aAAA,CAACH,iBAAiB,qBAChBtC,MAAA,CAAAmB,OAAA,CAAAsB,aAAA,CAACtC,KAAA,CAAAuC,eAAe,EAAAtB,QAAA,KACVc,IAAI;IACRC,KAAK,EAAEA,KAAM;IACbE,UAAU,EAAEA,UAAW;IACvBD,WAAW,EAAEA;EAAY,EAC1B,CACgB,CAAC;AAExB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASO,0BAA0BA,CA4BxCC,MAAe,EAAmC;EAClD;EACA;EACA,OAAO,IAAAC,8BAAsB,EAAChB,oBAAoB,CAAC,CAACe,MAAM,CAAC;AAC7D","ignoreList":[]}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.BottomSheetActions = void 0;
|
|
7
|
+
exports.BottomSheetRouter = BottomSheetRouter;
|
|
8
|
+
var _native = require("@react-navigation/native");
|
|
9
|
+
var _nonSecure = require("nanoid/non-secure");
|
|
10
|
+
const BottomSheetActions = exports.BottomSheetActions = {
|
|
11
|
+
..._native.StackActions,
|
|
12
|
+
snapTo(index) {
|
|
13
|
+
return {
|
|
14
|
+
type: "SNAP_TO",
|
|
15
|
+
index
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
function BottomSheetRouter(routerOptions) {
|
|
20
|
+
const baseRouter = (0, _native.StackRouter)(routerOptions);
|
|
21
|
+
return {
|
|
22
|
+
...baseRouter,
|
|
23
|
+
type: "bottom-sheet",
|
|
24
|
+
getInitialState(options) {
|
|
25
|
+
const state = baseRouter.getInitialState(options);
|
|
26
|
+
return {
|
|
27
|
+
...state,
|
|
28
|
+
stale: false,
|
|
29
|
+
type: "bottom-sheet",
|
|
30
|
+
key: `bottom-sheet-${(0, _nonSecure.nanoid)()}`
|
|
31
|
+
};
|
|
32
|
+
},
|
|
33
|
+
getStateForAction(state, action, options) {
|
|
34
|
+
switch (action.type) {
|
|
35
|
+
case "SNAP_TO":
|
|
36
|
+
{
|
|
37
|
+
const index = action.target === state.key && action.source ? state.routes.findIndex(r => r.key === action.source) : state.index;
|
|
38
|
+
return {
|
|
39
|
+
...state,
|
|
40
|
+
routes: state.routes.map((route, i) => i === index ? {
|
|
41
|
+
...route,
|
|
42
|
+
snapToIndex: action.index
|
|
43
|
+
} : route)
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
default:
|
|
47
|
+
return baseRouter.getStateForAction(state, action, options);
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
getRehydratedState(partialState, {
|
|
51
|
+
routeNames,
|
|
52
|
+
routeParamList,
|
|
53
|
+
routeGetIdList
|
|
54
|
+
}) {
|
|
55
|
+
if (partialState.stale === false) {
|
|
56
|
+
return partialState;
|
|
57
|
+
}
|
|
58
|
+
const state = baseRouter.getRehydratedState(partialState, {
|
|
59
|
+
routeNames,
|
|
60
|
+
routeParamList,
|
|
61
|
+
routeGetIdList
|
|
62
|
+
});
|
|
63
|
+
return {
|
|
64
|
+
...state,
|
|
65
|
+
type: "bottom-sheet",
|
|
66
|
+
key: `bottom-sheet-${(0, _nonSecure.nanoid)()}`
|
|
67
|
+
};
|
|
68
|
+
},
|
|
69
|
+
actionCreators: BottomSheetActions
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_native","require","_nonSecure","BottomSheetActions","exports","StackActions","snapTo","index","type","BottomSheetRouter","routerOptions","baseRouter","StackRouter","getInitialState","options","state","stale","key","nanoid","getStateForAction","action","target","source","routes","findIndex","r","map","route","i","snapToIndex","getRehydratedState","partialState","routeNames","routeParamList","routeGetIdList","actionCreators"],"sourceRoot":"../../../src","sources":["router/router.ts"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAQA,IAAAC,UAAA,GAAAD,OAAA;AAeO,MAAME,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG;EAC9B,GAAGE,oBAAY;EACfC,MAAMA,CAACC,KAAa,EAAyB;IACzC,OAAO;MAAEC,IAAI,EAAE,SAAS;MAAED;IAAM,CAAC;EACrC;AACJ,CAAC;AAEM,SAASE,iBAAiBA,CAC7BC,aAAiC,EACuC;EACxE,MAAMC,UAAU,GAAG,IAAAC,mBAAW,EAACF,aAAa,CAG3C;EACD,OAAO;IACH,GAAGC,UAAU;IACbH,IAAI,EAAE,cAAc;IACpBK,eAAeA,CAACC,OAAO,EAAE;MACrB,MAAMC,KAAK,GAAGJ,UAAU,CAACE,eAAe,CAACC,OAAO,CAAC;MAEjD,OAAO;QACH,GAAGC,KAAK;QACRC,KAAK,EAAE,KAAK;QACZR,IAAI,EAAE,cAAc;QACpBS,GAAG,EAAE,gBAAgB,IAAAC,iBAAM,EAAC,CAAC;MACjC,CAAC;IACL,CAAC;IACDC,iBAAiBA,CAACJ,KAAK,EAAEK,MAAM,EAAEN,OAAO,EAAE;MACtC,QAAQM,MAAM,CAACZ,IAAI;QACf,KAAK,SAAS;UAAE;YACZ,MAAMD,KAAK,GACPa,MAAM,CAACC,MAAM,KAAKN,KAAK,CAACE,GAAG,IAAIG,MAAM,CAACE,MAAM,GACtCP,KAAK,CAACQ,MAAM,CAACC,SAAS,CAAEC,CAAC,IAAKA,CAAC,CAACR,GAAG,KAAKG,MAAM,CAACE,MAAM,CAAC,GACtDP,KAAK,CAACR,KAAK;YAErB,OAAO;cACH,GAAGQ,KAAK;cACRQ,MAAM,EAAER,KAAK,CAACQ,MAAM,CAACG,GAAG,CAAC,CAACC,KAAK,EAAEC,CAAC,KAC9BA,CAAC,KAAKrB,KAAK,GACL;gBACI,GAAGoB,KAAK;gBACRE,WAAW,EAAET,MAAM,CAACb;cACxB,CAAC,GACDoB,KACV;YACJ,CAAC;UACL;QACA;UACI,OAAOhB,UAAU,CAACQ,iBAAiB,CAACJ,KAAK,EAAEK,MAAM,EAAEN,OAAO,CAAC;MACnE;IACJ,CAAC;IACDgB,kBAAkBA,CAACC,YAAY,EAAE;MAAEC,UAAU;MAAEC,cAAc;MAAEC;IAAe,CAAC,EAAE;MAC7E,IAAIH,YAAY,CAACf,KAAK,KAAK,KAAK,EAAE;QAC9B,OAAOe,YAAY;MACvB;MAEA,MAAMhB,KAAK,GAAGJ,UAAU,CAACmB,kBAAkB,CAACC,YAAY,EAAE;QACtDC,UAAU;QACVC,cAAc;QACdC;MACJ,CAAC,CAAC;MAEF,OAAO;QACH,GAAGnB,KAAK;QACRP,IAAI,EAAE,cAAc;QACpBS,GAAG,EAAE,gBAAgB,IAAAC,iBAAM,EAAC,CAAC;MACjC,CAAC;IACL,CAAC;IACDiB,cAAc,EAAEhC;EACpB,CAAC;AACL","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["router/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.BottomSheetView = BottomSheetView;
|
|
7
|
+
var _bottomSheet = require("@gorhom/bottom-sheet");
|
|
8
|
+
var _native = require("@react-navigation/native");
|
|
9
|
+
var React = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _reactNative = require("react-native");
|
|
11
|
+
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
12
|
+
var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
|
|
13
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
14
|
+
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); }
|
|
15
|
+
function BottomSheetModalScreen({
|
|
16
|
+
index,
|
|
17
|
+
navigation,
|
|
18
|
+
clickThrough,
|
|
19
|
+
iosModalSheetTypeOfAnimation,
|
|
20
|
+
opacity,
|
|
21
|
+
children,
|
|
22
|
+
...props
|
|
23
|
+
}) {
|
|
24
|
+
const ref = React.useRef(null);
|
|
25
|
+
const lastIndexRef = React.useRef(index);
|
|
26
|
+
|
|
27
|
+
// Present on mount.
|
|
28
|
+
React.useEffect(() => {
|
|
29
|
+
ref.current?.present();
|
|
30
|
+
}, []);
|
|
31
|
+
const isMounted = React.useRef(true);
|
|
32
|
+
React.useEffect(() => {
|
|
33
|
+
return () => {
|
|
34
|
+
isMounted.current = false;
|
|
35
|
+
};
|
|
36
|
+
}, []);
|
|
37
|
+
React.useEffect(() => {
|
|
38
|
+
if (index != null && lastIndexRef.current !== index) {
|
|
39
|
+
ref.current?.snapToIndex(index);
|
|
40
|
+
}
|
|
41
|
+
}, [index]);
|
|
42
|
+
const onChange = React.useCallback(newIndex => {
|
|
43
|
+
const currentIndex = lastIndexRef.current;
|
|
44
|
+
lastIndexRef.current = newIndex;
|
|
45
|
+
if (newIndex >= 0 && newIndex !== currentIndex) {
|
|
46
|
+
navigation.snapTo(newIndex);
|
|
47
|
+
}
|
|
48
|
+
}, [navigation]);
|
|
49
|
+
const onDismiss = React.useCallback(() => {
|
|
50
|
+
// BottomSheetModal will call onDismiss on unmount, be we do not want that since
|
|
51
|
+
// we already popped the screen.
|
|
52
|
+
if (isMounted.current) {
|
|
53
|
+
navigation.goBack();
|
|
54
|
+
}
|
|
55
|
+
}, [navigation]);
|
|
56
|
+
return /*#__PURE__*/React.createElement(_bottomSheet.BottomSheetModal, _extends({
|
|
57
|
+
ref: ref,
|
|
58
|
+
onDismiss: onDismiss,
|
|
59
|
+
onChange: onChange,
|
|
60
|
+
index: index,
|
|
61
|
+
backdropComponent: props => /*#__PURE__*/React.createElement(_bottomSheet.BottomSheetBackdrop, _extends({}, props, {
|
|
62
|
+
appearsOnIndex: 0,
|
|
63
|
+
disappearsOnIndex: -1,
|
|
64
|
+
enableTouchThrough: !!clickThrough,
|
|
65
|
+
opacity: opacity || 0.45
|
|
66
|
+
}))
|
|
67
|
+
}, props), children);
|
|
68
|
+
}
|
|
69
|
+
const DEFAULT_SNAP_POINTS = ["66%"];
|
|
70
|
+
function BottomSheetView({
|
|
71
|
+
state,
|
|
72
|
+
descriptors
|
|
73
|
+
}) {
|
|
74
|
+
const {
|
|
75
|
+
colors
|
|
76
|
+
} = (0, _native.useTheme)();
|
|
77
|
+
const {
|
|
78
|
+
top
|
|
79
|
+
} = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
|
|
80
|
+
const themeBackgroundStyle = React.useMemo(() => ({
|
|
81
|
+
backgroundColor: colors.card
|
|
82
|
+
}), [colors.card]);
|
|
83
|
+
const themeHandleIndicatorStyle = React.useMemo(() => ({
|
|
84
|
+
backgroundColor: colors.border,
|
|
85
|
+
height: 5,
|
|
86
|
+
width: 50
|
|
87
|
+
}), [colors.border]);
|
|
88
|
+
|
|
89
|
+
// IOS modal sheet type of animation
|
|
90
|
+
const isFullScreen = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
91
|
+
const colorStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
|
|
92
|
+
flex: 1,
|
|
93
|
+
backgroundColor: (0, _reactNativeReanimated.interpolateColor)(isFullScreen.value, [0, 1], ["transparent", "#000"])
|
|
94
|
+
}));
|
|
95
|
+
const animatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
|
|
96
|
+
flex: 1,
|
|
97
|
+
transform: [{
|
|
98
|
+
scaleX: (0, _reactNativeReanimated.withSpring)((0, _reactNativeReanimated.interpolate)(isFullScreen.value, [0, 1], [1, 0.92]), {
|
|
99
|
+
damping: 15,
|
|
100
|
+
stiffness: 100
|
|
101
|
+
})
|
|
102
|
+
}, {
|
|
103
|
+
translateY: (0, _reactNativeReanimated.withSpring)((0, _reactNativeReanimated.interpolate)(isFullScreen.value, [0, 1], [0, top + 5]), {
|
|
104
|
+
damping: 15,
|
|
105
|
+
stiffness: 100
|
|
106
|
+
})
|
|
107
|
+
}]
|
|
108
|
+
}));
|
|
109
|
+
|
|
110
|
+
// Since background color is white, we need to set status bar to light
|
|
111
|
+
const setStatusBar = _reactNative.StatusBar.setBarStyle;
|
|
112
|
+
(0, _reactNativeReanimated.useAnimatedReaction)(() => isFullScreen.value, currentValue => {
|
|
113
|
+
"worklet";
|
|
114
|
+
|
|
115
|
+
if (currentValue > -1) {
|
|
116
|
+
(0, _reactNativeReanimated.runOnJS)(setStatusBar)(currentValue >= 0.5 ? "light-content" : "default");
|
|
117
|
+
}
|
|
118
|
+
}, []);
|
|
119
|
+
|
|
120
|
+
// Avoid rendering provider if we only have one screen.
|
|
121
|
+
const shouldRenderProvider = React.useRef(false);
|
|
122
|
+
shouldRenderProvider.current = shouldRenderProvider.current || state.routes.length > 1;
|
|
123
|
+
const firstRoute = state.routes[0];
|
|
124
|
+
if (!firstRoute) {
|
|
125
|
+
// no routes at all, probably shouldn't happen, but let's be defensive
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
const firstDescriptor = descriptors[firstRoute.key];
|
|
129
|
+
if (!firstDescriptor) {
|
|
130
|
+
// if we don't have a descriptor for the first route, bail out
|
|
131
|
+
return null;
|
|
132
|
+
}
|
|
133
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_reactNativeReanimated.default.View, {
|
|
134
|
+
style: colorStyle
|
|
135
|
+
}, /*#__PURE__*/React.createElement(_reactNativeReanimated.default.View, {
|
|
136
|
+
style: animatedStyle
|
|
137
|
+
}, firstDescriptor.render?.())), shouldRenderProvider.current && /*#__PURE__*/React.createElement(_bottomSheet.BottomSheetModalProvider, null, state.routes.slice(1).map(route => {
|
|
138
|
+
const descriptor = descriptors[route.key];
|
|
139
|
+
if (!descriptor) return null;
|
|
140
|
+
const {
|
|
141
|
+
options,
|
|
142
|
+
navigation,
|
|
143
|
+
render
|
|
144
|
+
} = descriptor;
|
|
145
|
+
const {
|
|
146
|
+
index,
|
|
147
|
+
snapPoints,
|
|
148
|
+
handleStyle,
|
|
149
|
+
backgroundStyle,
|
|
150
|
+
handleIndicatorStyle,
|
|
151
|
+
enableDynamicSizing,
|
|
152
|
+
...sheetProps
|
|
153
|
+
} = options;
|
|
154
|
+
return /*#__PURE__*/React.createElement(BottomSheetModalScreen, _extends({
|
|
155
|
+
key: route.key
|
|
156
|
+
// Make sure index is in range, it could be out if snapToIndex is persisted
|
|
157
|
+
// and snapPoints is changed.
|
|
158
|
+
,
|
|
159
|
+
index: Math.min(route.snapToIndex ?? index ?? 0, !!snapPoints ? snapPoints.length - 1 : 0),
|
|
160
|
+
snapPoints: !snapPoints && !enableDynamicSizing ? DEFAULT_SNAP_POINTS : snapPoints,
|
|
161
|
+
onAnimate: (_, to) => {
|
|
162
|
+
// @ts-ignore TODO: Fix types
|
|
163
|
+
isFullScreen.value = ["%100", "100%"].includes(snapPoints?.[to]) ? 1 : 0;
|
|
164
|
+
},
|
|
165
|
+
animationConfigs: {
|
|
166
|
+
duration: 300,
|
|
167
|
+
easing: _reactNativeReanimated.Easing.bezier(0.25, 0.1, 0.25, 1)
|
|
168
|
+
},
|
|
169
|
+
topInset: top + 18,
|
|
170
|
+
navigation: navigation,
|
|
171
|
+
enableDynamicSizing: enableDynamicSizing,
|
|
172
|
+
backgroundStyle: [themeBackgroundStyle, backgroundStyle],
|
|
173
|
+
handleIndicatorStyle: [themeHandleIndicatorStyle, handleIndicatorStyle],
|
|
174
|
+
handleStyle: [themeBackgroundStyle, {
|
|
175
|
+
borderRadius: 20
|
|
176
|
+
}, handleStyle]
|
|
177
|
+
}, sheetProps), render?.());
|
|
178
|
+
})));
|
|
179
|
+
}
|
|
180
|
+
//# sourceMappingURL=view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_bottomSheet","require","_native","React","_interopRequireWildcard","_reactNative","_reactNativeReanimated","_reactNativeSafeAreaContext","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","BottomSheetModalScreen","index","navigation","clickThrough","iosModalSheetTypeOfAnimation","opacity","children","props","ref","useRef","lastIndexRef","useEffect","current","present","isMounted","snapToIndex","onChange","useCallback","newIndex","currentIndex","snapTo","onDismiss","goBack","createElement","BottomSheetModal","backdropComponent","BottomSheetBackdrop","appearsOnIndex","disappearsOnIndex","enableTouchThrough","DEFAULT_SNAP_POINTS","BottomSheetView","state","descriptors","colors","useTheme","top","useSafeAreaInsets","themeBackgroundStyle","useMemo","backgroundColor","card","themeHandleIndicatorStyle","border","height","width","isFullScreen","useSharedValue","colorStyle","useAnimatedStyle","flex","interpolateColor","value","animatedStyle","transform","scaleX","withSpring","interpolate","damping","stiffness","translateY","setStatusBar","StatusBar","setBarStyle","useAnimatedReaction","currentValue","runOnJS","shouldRenderProvider","routes","firstRoute","firstDescriptor","key","Fragment","View","style","render","BottomSheetModalProvider","slice","map","route","descriptor","options","snapPoints","handleStyle","backgroundStyle","handleIndicatorStyle","enableDynamicSizing","sheetProps","Math","min","onAnimate","_","to","includes","animationConfigs","duration","easing","Easing","bezier","topInset","borderRadius"],"sourceRoot":"../../../src","sources":["router/view.tsx"],"mappings":"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","ignoreList":[]}
|