@oxyhq/services 22.8.7 → 22.9.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/lib/commonjs/ui/components/OxyAccountDialog.js +30 -39
- package/lib/commonjs/ui/components/OxyAccountDialog.js.map +1 -1
- package/lib/commonjs/ui/components/OxyProvider.js +9 -29
- package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
- package/lib/commonjs/ui/components/SurfaceScreen.js +146 -0
- package/lib/commonjs/ui/components/SurfaceScreen.js.map +1 -0
- package/lib/commonjs/ui/context/OxyContext.js +32 -1
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/navigation/bottomSheetManager.js +38 -56
- package/lib/commonjs/ui/navigation/bottomSheetManager.js.map +1 -1
- package/lib/commonjs/ui/navigation/routes.js +7 -57
- package/lib/commonjs/ui/navigation/routes.js.map +1 -1
- package/lib/commonjs/ui/navigation/surfaceNavStack.js +98 -0
- package/lib/commonjs/ui/navigation/surfaceNavStack.js.map +1 -0
- package/lib/commonjs/ui/navigation/surfaceRegistry.js +108 -0
- package/lib/commonjs/ui/navigation/surfaceRegistry.js.map +1 -0
- package/lib/commonjs/ui/navigation/surfaces.js +219 -0
- package/lib/commonjs/ui/navigation/surfaces.js.map +1 -0
- package/lib/commonjs/ui/screens/fileManagement/hooks/useFileUploadState.js +9 -7
- package/lib/commonjs/ui/screens/fileManagement/hooks/useFileUploadState.js.map +1 -1
- package/lib/commonjs/ui/types/surfaceScreen.js +6 -0
- package/lib/commonjs/ui/types/surfaceScreen.js.map +1 -0
- package/lib/module/ui/components/OxyAccountDialog.js +31 -40
- package/lib/module/ui/components/OxyAccountDialog.js.map +1 -1
- package/lib/module/ui/components/OxyProvider.js +10 -30
- package/lib/module/ui/components/OxyProvider.js.map +1 -1
- package/lib/module/ui/components/SurfaceScreen.js +141 -0
- package/lib/module/ui/components/SurfaceScreen.js.map +1 -0
- package/lib/module/ui/context/OxyContext.js +32 -1
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/navigation/bottomSheetManager.js +37 -53
- package/lib/module/ui/navigation/bottomSheetManager.js.map +1 -1
- package/lib/module/ui/navigation/routes.js +6 -56
- package/lib/module/ui/navigation/routes.js.map +1 -1
- package/lib/module/ui/navigation/surfaceNavStack.js +95 -0
- package/lib/module/ui/navigation/surfaceNavStack.js.map +1 -0
- package/lib/module/ui/navigation/surfaceRegistry.js +102 -0
- package/lib/module/ui/navigation/surfaceRegistry.js.map +1 -0
- package/lib/module/ui/navigation/surfaces.js +207 -0
- package/lib/module/ui/navigation/surfaces.js.map +1 -0
- package/lib/module/ui/screens/fileManagement/hooks/useFileUploadState.js +8 -7
- package/lib/module/ui/screens/fileManagement/hooks/useFileUploadState.js.map +1 -1
- package/lib/module/ui/types/surfaceScreen.js +4 -0
- package/lib/module/ui/types/surfaceScreen.js.map +1 -0
- package/lib/typescript/commonjs/ui/components/OxyAccountDialog.d.ts +29 -27
- package/lib/typescript/commonjs/ui/components/OxyAccountDialog.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts +3 -2
- package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/SurfaceScreen.d.ts +24 -0
- package/lib/typescript/commonjs/ui/components/SurfaceScreen.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/navigation/bottomSheetManager.d.ts +24 -16
- package/lib/typescript/commonjs/ui/navigation/bottomSheetManager.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/navigation/routes.d.ts +2 -60
- package/lib/typescript/commonjs/ui/navigation/routes.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/navigation/surfaceNavStack.d.ts +51 -0
- package/lib/typescript/commonjs/ui/navigation/surfaceNavStack.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/navigation/surfaceRegistry.d.ts +117 -0
- package/lib/typescript/commonjs/ui/navigation/surfaceRegistry.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/navigation/surfaces.d.ts +79 -0
- package/lib/typescript/commonjs/ui/navigation/surfaces.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/screens/fileManagement/hooks/useFileUploadState.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/types/surfaceScreen.d.ts +38 -0
- package/lib/typescript/commonjs/ui/types/surfaceScreen.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/OxyAccountDialog.d.ts +29 -27
- package/lib/typescript/module/ui/components/OxyAccountDialog.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxyProvider.d.ts +3 -2
- package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/SurfaceScreen.d.ts +24 -0
- package/lib/typescript/module/ui/components/SurfaceScreen.d.ts.map +1 -0
- package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/module/ui/navigation/bottomSheetManager.d.ts +24 -16
- package/lib/typescript/module/ui/navigation/bottomSheetManager.d.ts.map +1 -1
- package/lib/typescript/module/ui/navigation/routes.d.ts +2 -60
- package/lib/typescript/module/ui/navigation/routes.d.ts.map +1 -1
- package/lib/typescript/module/ui/navigation/surfaceNavStack.d.ts +51 -0
- package/lib/typescript/module/ui/navigation/surfaceNavStack.d.ts.map +1 -0
- package/lib/typescript/module/ui/navigation/surfaceRegistry.d.ts +117 -0
- package/lib/typescript/module/ui/navigation/surfaceRegistry.d.ts.map +1 -0
- package/lib/typescript/module/ui/navigation/surfaces.d.ts +79 -0
- package/lib/typescript/module/ui/navigation/surfaces.d.ts.map +1 -0
- package/lib/typescript/module/ui/screens/fileManagement/hooks/useFileUploadState.d.ts.map +1 -1
- package/lib/typescript/module/ui/types/surfaceScreen.d.ts +38 -0
- package/lib/typescript/module/ui/types/surfaceScreen.d.ts.map +1 -0
- package/package.json +2 -2
- package/src/ui/components/OxyAccountDialog.tsx +32 -38
- package/src/ui/components/OxyProvider.tsx +12 -34
- package/src/ui/components/SurfaceScreen.tsx +166 -0
- package/src/ui/context/OxyContext.tsx +27 -1
- package/src/ui/navigation/__tests__/getSurfaceConfig.test.ts +39 -0
- package/src/ui/navigation/bottomSheetManager.ts +46 -73
- package/src/ui/navigation/routes.ts +7 -106
- package/src/ui/navigation/surfaceNavStack.ts +110 -0
- package/src/ui/navigation/surfaceRegistry.ts +174 -0
- package/src/ui/navigation/surfaces.ts +244 -0
- package/src/ui/screens/fileManagement/hooks/useFileUploadState.ts +9 -7
- package/src/ui/types/surfaceScreen.ts +38 -0
- package/lib/commonjs/ui/components/BottomSheet.js +0 -49
- package/lib/commonjs/ui/components/BottomSheet.js.map +0 -1
- package/lib/commonjs/ui/components/BottomSheetRouter.js +0 -298
- package/lib/commonjs/ui/components/BottomSheetRouter.js.map +0 -1
- package/lib/module/ui/components/BottomSheet.js +0 -45
- package/lib/module/ui/components/BottomSheet.js.map +0 -1
- package/lib/module/ui/components/BottomSheetRouter.js +0 -292
- package/lib/module/ui/components/BottomSheetRouter.js.map +0 -1
- package/lib/typescript/commonjs/ui/components/BottomSheet.d.ts +0 -29
- package/lib/typescript/commonjs/ui/components/BottomSheet.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/components/BottomSheetRouter.d.ts +0 -9
- package/lib/typescript/commonjs/ui/components/BottomSheetRouter.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/BottomSheet.d.ts +0 -29
- package/lib/typescript/module/ui/components/BottomSheet.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/BottomSheetRouter.d.ts +0 -9
- package/lib/typescript/module/ui/components/BottomSheetRouter.d.ts.map +0 -1
- package/src/ui/components/BottomSheet.tsx +0 -48
- package/src/ui/components/BottomSheetRouter.tsx +0 -310
- package/src/ui/navigation/__tests__/getSheetConfig.test.ts +0 -36
|
@@ -1,292 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import React, { useRef, useEffect, useCallback, useMemo } from 'react';
|
|
4
|
-
import { BackHandler, Platform, View, StyleSheet, Text } from 'react-native';
|
|
5
|
-
import { useStore } from 'zustand';
|
|
6
|
-
import { getScreenComponent, getSheetConfig, isValidRoute } from "../navigation/routes.js";
|
|
7
|
-
import { useTheme } from '@oxyhq/bloom/theme';
|
|
8
|
-
import { Dialog } from '@oxyhq/bloom/dialog';
|
|
9
|
-
import BottomSheet from "./BottomSheet.js";
|
|
10
|
-
import { bottomSheetStore, getState, showBottomSheet, closeBottomSheet, goBack, updateState } from "../navigation/bottomSheetManager.js";
|
|
11
|
-
|
|
12
|
-
/** Error boundary to catch screen rendering failures (e.g. lazy require() throws) */
|
|
13
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
14
|
-
class ScreenErrorBoundary extends React.Component {
|
|
15
|
-
state = {
|
|
16
|
-
error: null
|
|
17
|
-
};
|
|
18
|
-
static getDerivedStateFromError(error) {
|
|
19
|
-
return {
|
|
20
|
-
error
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
componentDidCatch(error, info) {
|
|
24
|
-
if (__DEV__) {
|
|
25
|
-
console.error(`[BottomSheetRouter] Screen "${this.props.screenName}" crashed:`, error, info.componentStack);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
componentDidUpdate(prevProps) {
|
|
29
|
-
if (prevProps.screenName !== this.props.screenName && this.state.error) {
|
|
30
|
-
this.setState({
|
|
31
|
-
error: null
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
render() {
|
|
36
|
-
if (this.state.error) {
|
|
37
|
-
return /*#__PURE__*/_jsxs(View, {
|
|
38
|
-
style: errorStyles.container,
|
|
39
|
-
children: [/*#__PURE__*/_jsx(Text, {
|
|
40
|
-
style: errorStyles.title,
|
|
41
|
-
children: "Something went wrong"
|
|
42
|
-
}), __DEV__ && /*#__PURE__*/_jsx(Text, {
|
|
43
|
-
style: errorStyles.message,
|
|
44
|
-
children: this.state.error.message
|
|
45
|
-
})]
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
return this.props.children;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
const errorStyles = StyleSheet.create({
|
|
52
|
-
container: {
|
|
53
|
-
flex: 1,
|
|
54
|
-
alignItems: 'center',
|
|
55
|
-
justifyContent: 'center',
|
|
56
|
-
padding: 24
|
|
57
|
-
},
|
|
58
|
-
title: {
|
|
59
|
-
fontSize: 16,
|
|
60
|
-
fontWeight: '600',
|
|
61
|
-
marginBottom: 8
|
|
62
|
-
},
|
|
63
|
-
message: {
|
|
64
|
-
fontSize: 13,
|
|
65
|
-
textAlign: 'center'
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Responsive placement for `presentation: 'dialog'` routes: a bottom-sheet on
|
|
71
|
-
* narrow viewports, a centered card at `md+` (≥768dp). Module-scoped so the
|
|
72
|
-
* object identity is stable across renders (Bloom's placement resolver memoizes
|
|
73
|
-
* on it). PhotoPickerSection keys its center-vs-bottom layout off the SAME `md`
|
|
74
|
-
* breakpoint — keep the two in sync if this map changes.
|
|
75
|
-
*/
|
|
76
|
-
const DIALOG_PLACEMENT = {
|
|
77
|
-
base: 'bottom',
|
|
78
|
-
md: 'center'
|
|
79
|
-
};
|
|
80
|
-
/**
|
|
81
|
-
* BottomSheetRouter - Navigation container for bottom sheet screens
|
|
82
|
-
*/
|
|
83
|
-
const BottomSheetRouter = ({
|
|
84
|
-
onScreenChange,
|
|
85
|
-
onDismiss
|
|
86
|
-
}) => {
|
|
87
|
-
const sheetRef = useRef(null);
|
|
88
|
-
const theme = useTheme();
|
|
89
|
-
const prevScreenRef = useRef(null);
|
|
90
|
-
const {
|
|
91
|
-
currentScreen,
|
|
92
|
-
screenProps,
|
|
93
|
-
currentStep,
|
|
94
|
-
isOpen
|
|
95
|
-
} = useStore(bottomSheetStore);
|
|
96
|
-
const ScreenComponent = useMemo(() => {
|
|
97
|
-
if (!currentScreen) return null;
|
|
98
|
-
const component = getScreenComponent(currentScreen);
|
|
99
|
-
if (__DEV__ && !component) {
|
|
100
|
-
console.error(`[BottomSheetRouter] getScreenComponent("${currentScreen}") returned undefined — the screen's lazy require() likely failed.`);
|
|
101
|
-
}
|
|
102
|
-
return component ?? null;
|
|
103
|
-
}, [currentScreen]);
|
|
104
|
-
|
|
105
|
-
// Route-level sheet config (which surface hosts the route, whether the sheet
|
|
106
|
-
// provides its own ScrollView, etc.). Computed early so the visibility
|
|
107
|
-
// effect can gate the in-tree sheet on the resolved presentation.
|
|
108
|
-
const sheetConfig = useMemo(() => getSheetConfig(currentScreen, screenProps), [currentScreen, screenProps]);
|
|
109
|
-
const isDialogPresentation = sheetConfig.presentation === 'dialog';
|
|
110
|
-
|
|
111
|
-
// Notify screen changes
|
|
112
|
-
useEffect(() => {
|
|
113
|
-
if (prevScreenRef.current !== currentScreen) {
|
|
114
|
-
onScreenChange?.(currentScreen);
|
|
115
|
-
prevScreenRef.current = currentScreen;
|
|
116
|
-
}
|
|
117
|
-
}, [currentScreen, onScreenChange]);
|
|
118
|
-
|
|
119
|
-
// Control visibility. The in-tree BottomSheet only ever presents for
|
|
120
|
-
// 'sheet'-presentation routes — 'dialog' routes render in the Bloom
|
|
121
|
-
// `<Dialog>` below, so the sheet stays dismissed for them (both surfaces
|
|
122
|
-
// remain mounted, so the pick→crop dialog→sheet handoff has no unmount jank).
|
|
123
|
-
useEffect(() => {
|
|
124
|
-
if (!sheetRef.current) return;
|
|
125
|
-
if (isOpen && !isDialogPresentation) {
|
|
126
|
-
sheetRef.current.present();
|
|
127
|
-
} else {
|
|
128
|
-
sheetRef.current.dismiss();
|
|
129
|
-
}
|
|
130
|
-
}, [isOpen, isDialogPresentation]);
|
|
131
|
-
|
|
132
|
-
// Android back button
|
|
133
|
-
useEffect(() => {
|
|
134
|
-
if (!isOpen) return;
|
|
135
|
-
if (Platform.OS !== 'android') return;
|
|
136
|
-
const handler = BackHandler.addEventListener('hardwareBackPress', () => {
|
|
137
|
-
handleGoBack();
|
|
138
|
-
return true;
|
|
139
|
-
});
|
|
140
|
-
return () => handler.remove();
|
|
141
|
-
}, [isOpen]);
|
|
142
|
-
const navigate = useCallback((screen, props) => {
|
|
143
|
-
if (!isValidRoute(screen)) {
|
|
144
|
-
if (__DEV__) console.warn(`[BottomSheetRouter] Invalid route: ${screen}`);
|
|
145
|
-
return;
|
|
146
|
-
}
|
|
147
|
-
showBottomSheet({
|
|
148
|
-
screen,
|
|
149
|
-
props
|
|
150
|
-
});
|
|
151
|
-
}, []);
|
|
152
|
-
const handleGoBack = useCallback(() => {
|
|
153
|
-
const state = getState();
|
|
154
|
-
|
|
155
|
-
// Try history first
|
|
156
|
-
if (state.history.length > 0) {
|
|
157
|
-
goBack();
|
|
158
|
-
return true;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
// Try step back
|
|
162
|
-
const step = state.currentStep ?? 0;
|
|
163
|
-
if (step > 0) {
|
|
164
|
-
updateState({
|
|
165
|
-
currentStep: step - 1,
|
|
166
|
-
screenProps: {
|
|
167
|
-
...state.screenProps,
|
|
168
|
-
initialStep: step - 1
|
|
169
|
-
}
|
|
170
|
-
});
|
|
171
|
-
return true;
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
// Close
|
|
175
|
-
closeBottomSheet();
|
|
176
|
-
return true;
|
|
177
|
-
}, []);
|
|
178
|
-
const canDismiss = useCallback(() => {
|
|
179
|
-
const state = getState();
|
|
180
|
-
if (state.history.length > 0) return false;
|
|
181
|
-
const step = state.currentStep ?? 0;
|
|
182
|
-
return step <= 0;
|
|
183
|
-
}, []);
|
|
184
|
-
const handleDismissAttempt = useCallback(() => {
|
|
185
|
-
if (!canDismiss()) {
|
|
186
|
-
handleGoBack();
|
|
187
|
-
return false;
|
|
188
|
-
}
|
|
189
|
-
return true;
|
|
190
|
-
}, [canDismiss, handleGoBack]);
|
|
191
|
-
const handleDismiss = useCallback(() => {
|
|
192
|
-
closeBottomSheet();
|
|
193
|
-
onDismiss?.();
|
|
194
|
-
}, [onDismiss]);
|
|
195
|
-
const handleStepChange = useCallback(step => {
|
|
196
|
-
const state = getState();
|
|
197
|
-
updateState({
|
|
198
|
-
currentStep: step,
|
|
199
|
-
screenProps: {
|
|
200
|
-
...state.screenProps,
|
|
201
|
-
initialStep: step
|
|
202
|
-
}
|
|
203
|
-
});
|
|
204
|
-
}, []);
|
|
205
|
-
const scrollTo = useCallback((y, animated) => {
|
|
206
|
-
sheetRef.current?.scrollTo(y, animated);
|
|
207
|
-
}, []);
|
|
208
|
-
const renderBackground = useCallback(props => /*#__PURE__*/_jsx(View, {
|
|
209
|
-
style: [styles.background, {
|
|
210
|
-
backgroundColor: theme.colors.background
|
|
211
|
-
}, props.style]
|
|
212
|
-
}), [theme.colors.background]);
|
|
213
|
-
const screenPropsValue = useMemo(() => {
|
|
214
|
-
const {
|
|
215
|
-
initialStep: _,
|
|
216
|
-
...rest
|
|
217
|
-
} = screenProps;
|
|
218
|
-
return {
|
|
219
|
-
navigate,
|
|
220
|
-
goBack: handleGoBack,
|
|
221
|
-
onClose: closeBottomSheet,
|
|
222
|
-
onAuthenticated: closeBottomSheet,
|
|
223
|
-
theme: theme.mode,
|
|
224
|
-
currentScreen: currentScreen ?? undefined,
|
|
225
|
-
initialStep: currentStep ?? screenProps?.initialStep,
|
|
226
|
-
onStepChange: handleStepChange,
|
|
227
|
-
scrollTo,
|
|
228
|
-
...rest
|
|
229
|
-
};
|
|
230
|
-
}, [navigate, handleGoBack, theme.mode, currentScreen, currentStep, screenProps, handleStepChange, scrollTo]);
|
|
231
|
-
|
|
232
|
-
// The active screen, wrapped in its error boundary. Routed into EXACTLY ONE
|
|
233
|
-
// surface (the in-tree sheet OR the Dialog) based on the resolved
|
|
234
|
-
// presentation, so it never double-mounts.
|
|
235
|
-
const screenNode = ScreenComponent && currentScreen ? /*#__PURE__*/_jsx(ScreenErrorBoundary, {
|
|
236
|
-
screenName: currentScreen,
|
|
237
|
-
children: /*#__PURE__*/_jsx(ScreenComponent, {
|
|
238
|
-
...screenPropsValue
|
|
239
|
-
})
|
|
240
|
-
}) : null;
|
|
241
|
-
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
242
|
-
children: [/*#__PURE__*/_jsx(BottomSheet, {
|
|
243
|
-
ref: sheetRef,
|
|
244
|
-
enablePanDownToClose: true,
|
|
245
|
-
enableHandlePanningGesture: true,
|
|
246
|
-
backgroundComponent: renderBackground,
|
|
247
|
-
style: styles.container,
|
|
248
|
-
onDismiss: handleDismiss,
|
|
249
|
-
onDismissAttempt: handleDismissAttempt,
|
|
250
|
-
scrollable: sheetConfig.scrollable,
|
|
251
|
-
manualActivation: sheetConfig.manualActivation,
|
|
252
|
-
dynamicBackdrop: sheetConfig.dynamicBackdrop,
|
|
253
|
-
handleComponent: sheetConfig.handleComponent,
|
|
254
|
-
children: !isDialogPresentation && screenNode
|
|
255
|
-
}), /*#__PURE__*/_jsx(Dialog, {
|
|
256
|
-
open: isOpen && isDialogPresentation,
|
|
257
|
-
onClose: handleDismiss,
|
|
258
|
-
placement: DIALOG_PLACEMENT,
|
|
259
|
-
dismissOnBackdrop: false,
|
|
260
|
-
contentPadding: 0,
|
|
261
|
-
maxWidth: 640,
|
|
262
|
-
maxHeightRatio: 0.9,
|
|
263
|
-
style: styles.dialogSurface,
|
|
264
|
-
panelStyle: styles.dialogSurface,
|
|
265
|
-
label: currentScreen ?? undefined,
|
|
266
|
-
children: isDialogPresentation ? screenNode : null
|
|
267
|
-
})]
|
|
268
|
-
});
|
|
269
|
-
};
|
|
270
|
-
const styles = StyleSheet.create({
|
|
271
|
-
container: {
|
|
272
|
-
maxWidth: 800,
|
|
273
|
-
width: '100%',
|
|
274
|
-
alignSelf: 'center',
|
|
275
|
-
marginHorizontal: 'auto'
|
|
276
|
-
},
|
|
277
|
-
background: {
|
|
278
|
-
borderTopLeftRadius: 20,
|
|
279
|
-
borderTopRightRadius: 20,
|
|
280
|
-
overflow: 'hidden'
|
|
281
|
-
},
|
|
282
|
-
// Full-bleed black surface for `presentation: 'dialog'` routes. `overflow:
|
|
283
|
-
// 'hidden'` clips the picker's edge-to-edge black content to the panel's
|
|
284
|
-
// rounded corners (Dialog supplies the radius per placement); the black
|
|
285
|
-
// fill covers any sub-pixel gap behind the picker during entrance.
|
|
286
|
-
dialogSurface: {
|
|
287
|
-
backgroundColor: '#000000',
|
|
288
|
-
overflow: 'hidden'
|
|
289
|
-
}
|
|
290
|
-
});
|
|
291
|
-
export default /*#__PURE__*/React.memo(BottomSheetRouter);
|
|
292
|
-
//# sourceMappingURL=BottomSheetRouter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","useRef","useEffect","useCallback","useMemo","BackHandler","Platform","View","StyleSheet","Text","useStore","getScreenComponent","getSheetConfig","isValidRoute","useTheme","Dialog","BottomSheet","bottomSheetStore","getState","showBottomSheet","closeBottomSheet","goBack","updateState","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ScreenErrorBoundary","Component","state","error","getDerivedStateFromError","componentDidCatch","info","__DEV__","console","props","screenName","componentStack","componentDidUpdate","prevProps","setState","render","style","errorStyles","container","children","title","message","create","flex","alignItems","justifyContent","padding","fontSize","fontWeight","marginBottom","textAlign","DIALOG_PLACEMENT","base","md","BottomSheetRouter","onScreenChange","onDismiss","sheetRef","theme","prevScreenRef","currentScreen","screenProps","currentStep","isOpen","ScreenComponent","component","sheetConfig","isDialogPresentation","presentation","current","present","dismiss","OS","handler","addEventListener","handleGoBack","remove","navigate","screen","warn","history","length","step","initialStep","canDismiss","handleDismissAttempt","handleDismiss","handleStepChange","scrollTo","y","animated","renderBackground","styles","background","backgroundColor","colors","screenPropsValue","_","rest","onClose","onAuthenticated","mode","undefined","onStepChange","screenNode","ref","enablePanDownToClose","enableHandlePanningGesture","backgroundComponent","onDismissAttempt","scrollable","manualActivation","dynamicBackdrop","handleComponent","open","placement","dismissOnBackdrop","contentPadding","maxWidth","maxHeightRatio","dialogSurface","panelStyle","label","width","alignSelf","marginHorizontal","borderTopLeftRadius","borderTopRightRadius","overflow","memo"],"sourceRoot":"../../../../src","sources":["ui/components/BottomSheetRouter.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { type BottomSheetProps as BloomBottomSheetProps, type BottomSheetRef } from '@oxyhq/bloom/bottom-sheet';
|
|
2
|
-
/**
|
|
3
|
-
* Thin wrapper around `@oxyhq/bloom`'s `BottomSheet` (>=0.4.0).
|
|
4
|
-
*
|
|
5
|
-
* Bloom is the canonical bottom-sheet primitive for the Oxy ecosystem; this
|
|
6
|
-
* wrapper exists only to inject service-specific defaults so the 29+ screens
|
|
7
|
-
* mounted by `BottomSheetRouter` keep the exact UX they had under the
|
|
8
|
-
* pre-refactor in-tree implementation:
|
|
9
|
-
*
|
|
10
|
-
* - `manualActivation: true` — the body pan uses RNGH's manualActivation
|
|
11
|
-
* with scroll-handoff, the only RNGH 2.x pattern that doesn't steal
|
|
12
|
-
* vertical events from inner scrollers on Android. The previous in-tree
|
|
13
|
-
* implementation always ran in this mode.
|
|
14
|
-
* - `dynamicBackdrop: true` — backdrop dims proportionally with drag
|
|
15
|
-
* distance (iOS Photos style). The previous in-tree implementation
|
|
16
|
-
* always did this.
|
|
17
|
-
*
|
|
18
|
-
* Consumers (`BottomSheetRouter`, primarily) can still override either default
|
|
19
|
-
* by passing the prop explicitly — for example, per-route via `getSheetConfig`.
|
|
20
|
-
*
|
|
21
|
-
* Public API (name + ref shape) is identical to the previous in-tree
|
|
22
|
-
* implementation, so external consumers and `BottomSheetRouter` need no
|
|
23
|
-
* changes beyond the new pass-through props.
|
|
24
|
-
*/
|
|
25
|
-
export type BottomSheetProps = BloomBottomSheetProps;
|
|
26
|
-
export type { BottomSheetRef };
|
|
27
|
-
declare const BottomSheet: import("react").ForwardRefExoticComponent<BloomBottomSheetProps & import("react").RefAttributes<BottomSheetRef>>;
|
|
28
|
-
export default BottomSheet;
|
|
29
|
-
//# sourceMappingURL=BottomSheet.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/BottomSheet.tsx"],"names":[],"mappings":"AACA,OAAO,EAEH,KAAK,gBAAgB,IAAI,qBAAqB,EAC9C,KAAK,cAAc,EACtB,MAAM,2BAA2B,CAAC;AAEnC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AACrD,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,QAAA,MAAM,WAAW,kHAUf,CAAC;AAIH,eAAe,WAAW,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type { RouteName } from '../navigation/routes';
|
|
3
|
-
export interface BottomSheetRouterProps {
|
|
4
|
-
onScreenChange?: (screen: RouteName | null) => void;
|
|
5
|
-
onDismiss?: () => void;
|
|
6
|
-
}
|
|
7
|
-
declare const _default: React.NamedExoticComponent<BottomSheetRouterProps>;
|
|
8
|
-
export default _default;
|
|
9
|
-
//# sourceMappingURL=BottomSheetRouter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BottomSheetRouter.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/BottomSheetRouter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkE,MAAM,OAAO,CAAC;AAGvF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AA4EtD,MAAM,WAAW,sBAAsB;IACnC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;;AAmOD,wBAA6C"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { type BottomSheetProps as BloomBottomSheetProps, type BottomSheetRef } from '@oxyhq/bloom/bottom-sheet';
|
|
2
|
-
/**
|
|
3
|
-
* Thin wrapper around `@oxyhq/bloom`'s `BottomSheet` (>=0.4.0).
|
|
4
|
-
*
|
|
5
|
-
* Bloom is the canonical bottom-sheet primitive for the Oxy ecosystem; this
|
|
6
|
-
* wrapper exists only to inject service-specific defaults so the 29+ screens
|
|
7
|
-
* mounted by `BottomSheetRouter` keep the exact UX they had under the
|
|
8
|
-
* pre-refactor in-tree implementation:
|
|
9
|
-
*
|
|
10
|
-
* - `manualActivation: true` — the body pan uses RNGH's manualActivation
|
|
11
|
-
* with scroll-handoff, the only RNGH 2.x pattern that doesn't steal
|
|
12
|
-
* vertical events from inner scrollers on Android. The previous in-tree
|
|
13
|
-
* implementation always ran in this mode.
|
|
14
|
-
* - `dynamicBackdrop: true` — backdrop dims proportionally with drag
|
|
15
|
-
* distance (iOS Photos style). The previous in-tree implementation
|
|
16
|
-
* always did this.
|
|
17
|
-
*
|
|
18
|
-
* Consumers (`BottomSheetRouter`, primarily) can still override either default
|
|
19
|
-
* by passing the prop explicitly — for example, per-route via `getSheetConfig`.
|
|
20
|
-
*
|
|
21
|
-
* Public API (name + ref shape) is identical to the previous in-tree
|
|
22
|
-
* implementation, so external consumers and `BottomSheetRouter` need no
|
|
23
|
-
* changes beyond the new pass-through props.
|
|
24
|
-
*/
|
|
25
|
-
export type BottomSheetProps = BloomBottomSheetProps;
|
|
26
|
-
export type { BottomSheetRef };
|
|
27
|
-
declare const BottomSheet: import("react").ForwardRefExoticComponent<BloomBottomSheetProps & import("react").RefAttributes<BottomSheetRef>>;
|
|
28
|
-
export default BottomSheet;
|
|
29
|
-
//# sourceMappingURL=BottomSheet.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/BottomSheet.tsx"],"names":[],"mappings":"AACA,OAAO,EAEH,KAAK,gBAAgB,IAAI,qBAAqB,EAC9C,KAAK,cAAc,EACtB,MAAM,2BAA2B,CAAC;AAEnC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AACrD,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,QAAA,MAAM,WAAW,kHAUf,CAAC;AAIH,eAAe,WAAW,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type { RouteName } from '../navigation/routes.js';
|
|
3
|
-
export interface BottomSheetRouterProps {
|
|
4
|
-
onScreenChange?: (screen: RouteName | null) => void;
|
|
5
|
-
onDismiss?: () => void;
|
|
6
|
-
}
|
|
7
|
-
declare const _default: React.NamedExoticComponent<BottomSheetRouterProps>;
|
|
8
|
-
export default _default;
|
|
9
|
-
//# sourceMappingURL=BottomSheetRouter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BottomSheetRouter.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/BottomSheetRouter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkE,MAAM,OAAO,CAAC;AAGvF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAsB,CAAC;AA4EtD,MAAM,WAAW,sBAAsB;IACnC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;;AAmOD,wBAA6C"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { forwardRef } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
BottomSheet as BloomBottomSheet,
|
|
4
|
-
type BottomSheetProps as BloomBottomSheetProps,
|
|
5
|
-
type BottomSheetRef,
|
|
6
|
-
} from '@oxyhq/bloom/bottom-sheet';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Thin wrapper around `@oxyhq/bloom`'s `BottomSheet` (>=0.4.0).
|
|
10
|
-
*
|
|
11
|
-
* Bloom is the canonical bottom-sheet primitive for the Oxy ecosystem; this
|
|
12
|
-
* wrapper exists only to inject service-specific defaults so the 29+ screens
|
|
13
|
-
* mounted by `BottomSheetRouter` keep the exact UX they had under the
|
|
14
|
-
* pre-refactor in-tree implementation:
|
|
15
|
-
*
|
|
16
|
-
* - `manualActivation: true` — the body pan uses RNGH's manualActivation
|
|
17
|
-
* with scroll-handoff, the only RNGH 2.x pattern that doesn't steal
|
|
18
|
-
* vertical events from inner scrollers on Android. The previous in-tree
|
|
19
|
-
* implementation always ran in this mode.
|
|
20
|
-
* - `dynamicBackdrop: true` — backdrop dims proportionally with drag
|
|
21
|
-
* distance (iOS Photos style). The previous in-tree implementation
|
|
22
|
-
* always did this.
|
|
23
|
-
*
|
|
24
|
-
* Consumers (`BottomSheetRouter`, primarily) can still override either default
|
|
25
|
-
* by passing the prop explicitly — for example, per-route via `getSheetConfig`.
|
|
26
|
-
*
|
|
27
|
-
* Public API (name + ref shape) is identical to the previous in-tree
|
|
28
|
-
* implementation, so external consumers and `BottomSheetRouter` need no
|
|
29
|
-
* changes beyond the new pass-through props.
|
|
30
|
-
*/
|
|
31
|
-
export type BottomSheetProps = BloomBottomSheetProps;
|
|
32
|
-
export type { BottomSheetRef };
|
|
33
|
-
|
|
34
|
-
const BottomSheet = forwardRef<BottomSheetRef, BottomSheetProps>((props, ref) => {
|
|
35
|
-
const { manualActivation = true, dynamicBackdrop = true, ...rest } = props;
|
|
36
|
-
return (
|
|
37
|
-
<BloomBottomSheet
|
|
38
|
-
ref={ref}
|
|
39
|
-
manualActivation={manualActivation}
|
|
40
|
-
dynamicBackdrop={dynamicBackdrop}
|
|
41
|
-
{...rest}
|
|
42
|
-
/>
|
|
43
|
-
);
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
BottomSheet.displayName = 'BottomSheet';
|
|
47
|
-
|
|
48
|
-
export default BottomSheet;
|