@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.
Files changed (116) hide show
  1. package/lib/commonjs/ui/components/OxyAccountDialog.js +30 -39
  2. package/lib/commonjs/ui/components/OxyAccountDialog.js.map +1 -1
  3. package/lib/commonjs/ui/components/OxyProvider.js +9 -29
  4. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  5. package/lib/commonjs/ui/components/SurfaceScreen.js +146 -0
  6. package/lib/commonjs/ui/components/SurfaceScreen.js.map +1 -0
  7. package/lib/commonjs/ui/context/OxyContext.js +32 -1
  8. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  9. package/lib/commonjs/ui/navigation/bottomSheetManager.js +38 -56
  10. package/lib/commonjs/ui/navigation/bottomSheetManager.js.map +1 -1
  11. package/lib/commonjs/ui/navigation/routes.js +7 -57
  12. package/lib/commonjs/ui/navigation/routes.js.map +1 -1
  13. package/lib/commonjs/ui/navigation/surfaceNavStack.js +98 -0
  14. package/lib/commonjs/ui/navigation/surfaceNavStack.js.map +1 -0
  15. package/lib/commonjs/ui/navigation/surfaceRegistry.js +108 -0
  16. package/lib/commonjs/ui/navigation/surfaceRegistry.js.map +1 -0
  17. package/lib/commonjs/ui/navigation/surfaces.js +219 -0
  18. package/lib/commonjs/ui/navigation/surfaces.js.map +1 -0
  19. package/lib/commonjs/ui/screens/fileManagement/hooks/useFileUploadState.js +9 -7
  20. package/lib/commonjs/ui/screens/fileManagement/hooks/useFileUploadState.js.map +1 -1
  21. package/lib/commonjs/ui/types/surfaceScreen.js +6 -0
  22. package/lib/commonjs/ui/types/surfaceScreen.js.map +1 -0
  23. package/lib/module/ui/components/OxyAccountDialog.js +31 -40
  24. package/lib/module/ui/components/OxyAccountDialog.js.map +1 -1
  25. package/lib/module/ui/components/OxyProvider.js +10 -30
  26. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  27. package/lib/module/ui/components/SurfaceScreen.js +141 -0
  28. package/lib/module/ui/components/SurfaceScreen.js.map +1 -0
  29. package/lib/module/ui/context/OxyContext.js +32 -1
  30. package/lib/module/ui/context/OxyContext.js.map +1 -1
  31. package/lib/module/ui/navigation/bottomSheetManager.js +37 -53
  32. package/lib/module/ui/navigation/bottomSheetManager.js.map +1 -1
  33. package/lib/module/ui/navigation/routes.js +6 -56
  34. package/lib/module/ui/navigation/routes.js.map +1 -1
  35. package/lib/module/ui/navigation/surfaceNavStack.js +95 -0
  36. package/lib/module/ui/navigation/surfaceNavStack.js.map +1 -0
  37. package/lib/module/ui/navigation/surfaceRegistry.js +102 -0
  38. package/lib/module/ui/navigation/surfaceRegistry.js.map +1 -0
  39. package/lib/module/ui/navigation/surfaces.js +207 -0
  40. package/lib/module/ui/navigation/surfaces.js.map +1 -0
  41. package/lib/module/ui/screens/fileManagement/hooks/useFileUploadState.js +8 -7
  42. package/lib/module/ui/screens/fileManagement/hooks/useFileUploadState.js.map +1 -1
  43. package/lib/module/ui/types/surfaceScreen.js +4 -0
  44. package/lib/module/ui/types/surfaceScreen.js.map +1 -0
  45. package/lib/typescript/commonjs/ui/components/OxyAccountDialog.d.ts +29 -27
  46. package/lib/typescript/commonjs/ui/components/OxyAccountDialog.d.ts.map +1 -1
  47. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts +3 -2
  48. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
  49. package/lib/typescript/commonjs/ui/components/SurfaceScreen.d.ts +24 -0
  50. package/lib/typescript/commonjs/ui/components/SurfaceScreen.d.ts.map +1 -0
  51. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  52. package/lib/typescript/commonjs/ui/navigation/bottomSheetManager.d.ts +24 -16
  53. package/lib/typescript/commonjs/ui/navigation/bottomSheetManager.d.ts.map +1 -1
  54. package/lib/typescript/commonjs/ui/navigation/routes.d.ts +2 -60
  55. package/lib/typescript/commonjs/ui/navigation/routes.d.ts.map +1 -1
  56. package/lib/typescript/commonjs/ui/navigation/surfaceNavStack.d.ts +51 -0
  57. package/lib/typescript/commonjs/ui/navigation/surfaceNavStack.d.ts.map +1 -0
  58. package/lib/typescript/commonjs/ui/navigation/surfaceRegistry.d.ts +117 -0
  59. package/lib/typescript/commonjs/ui/navigation/surfaceRegistry.d.ts.map +1 -0
  60. package/lib/typescript/commonjs/ui/navigation/surfaces.d.ts +79 -0
  61. package/lib/typescript/commonjs/ui/navigation/surfaces.d.ts.map +1 -0
  62. package/lib/typescript/commonjs/ui/screens/fileManagement/hooks/useFileUploadState.d.ts.map +1 -1
  63. package/lib/typescript/commonjs/ui/types/surfaceScreen.d.ts +38 -0
  64. package/lib/typescript/commonjs/ui/types/surfaceScreen.d.ts.map +1 -0
  65. package/lib/typescript/module/ui/components/OxyAccountDialog.d.ts +29 -27
  66. package/lib/typescript/module/ui/components/OxyAccountDialog.d.ts.map +1 -1
  67. package/lib/typescript/module/ui/components/OxyProvider.d.ts +3 -2
  68. package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
  69. package/lib/typescript/module/ui/components/SurfaceScreen.d.ts +24 -0
  70. package/lib/typescript/module/ui/components/SurfaceScreen.d.ts.map +1 -0
  71. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  72. package/lib/typescript/module/ui/navigation/bottomSheetManager.d.ts +24 -16
  73. package/lib/typescript/module/ui/navigation/bottomSheetManager.d.ts.map +1 -1
  74. package/lib/typescript/module/ui/navigation/routes.d.ts +2 -60
  75. package/lib/typescript/module/ui/navigation/routes.d.ts.map +1 -1
  76. package/lib/typescript/module/ui/navigation/surfaceNavStack.d.ts +51 -0
  77. package/lib/typescript/module/ui/navigation/surfaceNavStack.d.ts.map +1 -0
  78. package/lib/typescript/module/ui/navigation/surfaceRegistry.d.ts +117 -0
  79. package/lib/typescript/module/ui/navigation/surfaceRegistry.d.ts.map +1 -0
  80. package/lib/typescript/module/ui/navigation/surfaces.d.ts +79 -0
  81. package/lib/typescript/module/ui/navigation/surfaces.d.ts.map +1 -0
  82. package/lib/typescript/module/ui/screens/fileManagement/hooks/useFileUploadState.d.ts.map +1 -1
  83. package/lib/typescript/module/ui/types/surfaceScreen.d.ts +38 -0
  84. package/lib/typescript/module/ui/types/surfaceScreen.d.ts.map +1 -0
  85. package/package.json +2 -2
  86. package/src/ui/components/OxyAccountDialog.tsx +32 -38
  87. package/src/ui/components/OxyProvider.tsx +12 -34
  88. package/src/ui/components/SurfaceScreen.tsx +166 -0
  89. package/src/ui/context/OxyContext.tsx +27 -1
  90. package/src/ui/navigation/__tests__/getSurfaceConfig.test.ts +39 -0
  91. package/src/ui/navigation/bottomSheetManager.ts +46 -73
  92. package/src/ui/navigation/routes.ts +7 -106
  93. package/src/ui/navigation/surfaceNavStack.ts +110 -0
  94. package/src/ui/navigation/surfaceRegistry.ts +174 -0
  95. package/src/ui/navigation/surfaces.ts +244 -0
  96. package/src/ui/screens/fileManagement/hooks/useFileUploadState.ts +9 -7
  97. package/src/ui/types/surfaceScreen.ts +38 -0
  98. package/lib/commonjs/ui/components/BottomSheet.js +0 -49
  99. package/lib/commonjs/ui/components/BottomSheet.js.map +0 -1
  100. package/lib/commonjs/ui/components/BottomSheetRouter.js +0 -298
  101. package/lib/commonjs/ui/components/BottomSheetRouter.js.map +0 -1
  102. package/lib/module/ui/components/BottomSheet.js +0 -45
  103. package/lib/module/ui/components/BottomSheet.js.map +0 -1
  104. package/lib/module/ui/components/BottomSheetRouter.js +0 -292
  105. package/lib/module/ui/components/BottomSheetRouter.js.map +0 -1
  106. package/lib/typescript/commonjs/ui/components/BottomSheet.d.ts +0 -29
  107. package/lib/typescript/commonjs/ui/components/BottomSheet.d.ts.map +0 -1
  108. package/lib/typescript/commonjs/ui/components/BottomSheetRouter.d.ts +0 -9
  109. package/lib/typescript/commonjs/ui/components/BottomSheetRouter.d.ts.map +0 -1
  110. package/lib/typescript/module/ui/components/BottomSheet.d.ts +0 -29
  111. package/lib/typescript/module/ui/components/BottomSheet.d.ts.map +0 -1
  112. package/lib/typescript/module/ui/components/BottomSheetRouter.d.ts +0 -9
  113. package/lib/typescript/module/ui/components/BottomSheetRouter.d.ts.map +0 -1
  114. package/src/ui/components/BottomSheet.tsx +0 -48
  115. package/src/ui/components/BottomSheetRouter.tsx +0 -310
  116. 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;