@oxyhq/bloom 0.1.33 → 0.1.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +108 -7
- package/lib/commonjs/dialog/Dialog.js +2 -6
- package/lib/commonjs/dialog/Dialog.js.map +1 -1
- package/lib/module/dialog/Dialog.js +2 -6
- package/lib/module/dialog/Dialog.js.map +1 -1
- package/lib/typescript/commonjs/dialog/Dialog.d.ts.map +1 -1
- package/lib/typescript/module/dialog/Dialog.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/dialog/Dialog.tsx +3 -6
package/README.md
CHANGED
|
@@ -18,9 +18,9 @@ Required:
|
|
|
18
18
|
|
|
19
19
|
Optional:
|
|
20
20
|
|
|
21
|
-
- `@gorhom/bottom-sheet >= 5` (native Dialog)
|
|
22
|
-
- `react-native-reanimated >= 3` (native Dialog
|
|
23
|
-
- `react-native-gesture-handler >= 2` (native Dialog)
|
|
21
|
+
- `@gorhom/bottom-sheet >= 5` (native `Dialog` and `Prompt`) — also requires wrapping the app root with `BottomSheetModalProvider`, see [Dialog](#dialog).
|
|
22
|
+
- `react-native-reanimated >= 3` (native `Dialog`, `BottomSheet`, Loading `top` variant)
|
|
23
|
+
- `react-native-gesture-handler >= 2` (native `Dialog`, `BottomSheet`) — also requires wrapping the app root with `GestureHandlerRootView`, see [Dialog](#dialog).
|
|
24
24
|
- `react-native-svg >= 13` (Avatar `squircle` shape)
|
|
25
25
|
|
|
26
26
|
## Usage
|
|
@@ -50,9 +50,43 @@ const theme = useTheme();
|
|
|
50
50
|
|
|
51
51
|
4 modes: `light`, `dark`, `system`, `adaptive` (uses iOS/Android native dynamic colors when available).
|
|
52
52
|
|
|
53
|
+
### Modal components: Dialog, Prompt, BottomSheet
|
|
54
|
+
|
|
55
|
+
Bloom ships three components for modal/sheet presentation. Pick the one that matches your use case:
|
|
56
|
+
|
|
57
|
+
| Component | Native | Web | Use when |
|
|
58
|
+
|-----------|--------|-----|----------|
|
|
59
|
+
| `Dialog` | Bottom sheet (Gorhom), dynamic height | Centered modal | You need a modal container with arbitrary content — forms, pickers, custom layouts |
|
|
60
|
+
| `Prompt` | 40%-height bottom sheet (Gorhom) | Centered 320px modal | You need a confirmation dialog with title, description, and action buttons |
|
|
61
|
+
| `BottomSheet` | Draggable sheet (Bloom's own, no Gorhom) | Same pattern via RN `Modal` | You need a bottom sheet without the Gorhom dependency, or with custom snap/scroll/keyboard control |
|
|
62
|
+
|
|
63
|
+
`Prompt` is built on top of `Dialog` (so the provider requirements are the same). `BottomSheet` is a separate, standalone implementation.
|
|
64
|
+
|
|
53
65
|
### Dialog
|
|
54
66
|
|
|
55
|
-
Platform-adaptive dialogs — bottom sheet on native, modal overlay on web.
|
|
67
|
+
Platform-adaptive dialogs — bottom sheet on native, centered modal overlay on web.
|
|
68
|
+
|
|
69
|
+
> **Required providers (native).** `Dialog` (and therefore `Prompt`) uses `@gorhom/bottom-sheet` on Android/iOS. Your app root **must** be wrapped with `GestureHandlerRootView` from `react-native-gesture-handler` and `BottomSheetModalProvider` from `@gorhom/bottom-sheet`. Without these, the dialog will silently fail to render.
|
|
70
|
+
|
|
71
|
+
```tsx
|
|
72
|
+
import { GestureHandlerRootView } from 'react-native-gesture-handler';
|
|
73
|
+
import { BottomSheetModalProvider } from '@gorhom/bottom-sheet';
|
|
74
|
+
import { BloomThemeProvider } from '@oxyhq/bloom/theme';
|
|
75
|
+
|
|
76
|
+
export default function Root() {
|
|
77
|
+
return (
|
|
78
|
+
<GestureHandlerRootView style={{ flex: 1 }}>
|
|
79
|
+
<BloomThemeProvider mode="system" colorPreset="oxy">
|
|
80
|
+
<BottomSheetModalProvider>
|
|
81
|
+
<App />
|
|
82
|
+
</BottomSheetModalProvider>
|
|
83
|
+
</BloomThemeProvider>
|
|
84
|
+
</GestureHandlerRootView>
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Basic usage:
|
|
56
90
|
|
|
57
91
|
```tsx
|
|
58
92
|
import * as Dialog from '@oxyhq/bloom/dialog';
|
|
@@ -75,7 +109,17 @@ function MyComponent() {
|
|
|
75
109
|
}
|
|
76
110
|
```
|
|
77
111
|
|
|
78
|
-
|
|
112
|
+
`Dialog.Outer` props:
|
|
113
|
+
|
|
114
|
+
- `control` — from `useDialogControl()`.
|
|
115
|
+
- `onClose?` — fires after the dialog has finished closing.
|
|
116
|
+
- `testID?`
|
|
117
|
+
- `webOptions?: { alignCenter?: boolean }` — center the dialog vertically on web instead of anchoring near the top.
|
|
118
|
+
- `preventExpansion?: boolean` — on native, snaps the bottom sheet to a fixed `'40%'` height instead of dynamic sizing.
|
|
119
|
+
|
|
120
|
+
On native, the sheet uses `enablePanDownToClose`, `enableDismissOnClose`, dynamic sizing, and is constrained to a max width of 500px on tablets.
|
|
121
|
+
|
|
122
|
+
On web, inject the CSS animations into your global styles once:
|
|
79
123
|
|
|
80
124
|
```tsx
|
|
81
125
|
import { BLOOM_DIALOG_CSS } from '@oxyhq/bloom/dialog';
|
|
@@ -86,7 +130,11 @@ import { BLOOM_DIALOG_CSS } from '@oxyhq/bloom/dialog';
|
|
|
86
130
|
|
|
87
131
|
### Prompt
|
|
88
132
|
|
|
89
|
-
Confirmation dialogs built on top of Dialog.
|
|
133
|
+
Confirmation dialogs built on top of `Dialog`. On native, constrained to a 40% bottom sheet (Gorhom); on web, a centered 320px modal. Same provider requirements as [Dialog](#dialog).
|
|
134
|
+
|
|
135
|
+
`Prompt.Action` auto-closes the dialog after `onPress` by default. Pass `shouldCloseOnPress={false}` to keep it open (e.g. while an async operation is in flight).
|
|
136
|
+
|
|
137
|
+
`Prompt.Basic` — one-shot confirm dialog:
|
|
90
138
|
|
|
91
139
|
```tsx
|
|
92
140
|
import * as Prompt from '@oxyhq/bloom/prompt';
|
|
@@ -111,7 +159,18 @@ function DeleteButton() {
|
|
|
111
159
|
}
|
|
112
160
|
```
|
|
113
161
|
|
|
114
|
-
|
|
162
|
+
`Prompt.Basic` props:
|
|
163
|
+
|
|
164
|
+
- `control` — from `usePromptControl()`.
|
|
165
|
+
- `title: string`
|
|
166
|
+
- `description?: string`
|
|
167
|
+
- `confirmButtonCta?: string` — defaults to `'Confirm'`.
|
|
168
|
+
- `cancelButtonCta?: string` — defaults to `'Cancel'`.
|
|
169
|
+
- `confirmButtonColor?: ActionColor` — defaults to `'primary'`.
|
|
170
|
+
- `onConfirm: (e) => void`
|
|
171
|
+
- `showCancel?: boolean` — defaults to `true`.
|
|
172
|
+
|
|
173
|
+
Or compose with the compound components:
|
|
115
174
|
|
|
116
175
|
```tsx
|
|
117
176
|
<Prompt.Outer control={control}>
|
|
@@ -126,6 +185,47 @@ Or build custom prompts with compound components:
|
|
|
126
185
|
</Prompt.Outer>
|
|
127
186
|
```
|
|
128
187
|
|
|
188
|
+
Exports: `usePromptControl`, `Outer`, `Content`, `TitleText`, `DescriptionText`, `Actions`, `Action`, `Cancel`, `Basic`.
|
|
189
|
+
|
|
190
|
+
`ActionColor`: `'primary' | 'primary_subtle' | 'secondary' | 'negative' | 'negative_subtle'`.
|
|
191
|
+
|
|
192
|
+
### BottomSheet
|
|
193
|
+
|
|
194
|
+
A standalone, draggable bottom sheet built on React Native `Modal` + `react-native-reanimated` + `react-native-gesture-handler`. **Not** based on `@gorhom/bottom-sheet`, so it does not require `BottomSheetModalProvider`. Use it when the compound `Dialog` API doesn't fit, when you want to avoid the Gorhom dependency, or when you need direct control over scroll, keyboard handling, or detached presentation.
|
|
195
|
+
|
|
196
|
+
```tsx
|
|
197
|
+
import { useRef } from 'react';
|
|
198
|
+
import { BottomSheet, type BottomSheetRef } from '@oxyhq/bloom/bottom-sheet';
|
|
199
|
+
|
|
200
|
+
function Example() {
|
|
201
|
+
const sheetRef = useRef<BottomSheetRef>(null);
|
|
202
|
+
|
|
203
|
+
return (
|
|
204
|
+
<>
|
|
205
|
+
<Button onPress={() => sheetRef.current?.present()}>Open</Button>
|
|
206
|
+
|
|
207
|
+
<BottomSheet ref={sheetRef} onDismiss={() => console.log('dismissed')}>
|
|
208
|
+
<Text>Sheet content</Text>
|
|
209
|
+
</BottomSheet>
|
|
210
|
+
</>
|
|
211
|
+
);
|
|
212
|
+
}
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
`BottomSheetRef` methods: `present()`, `dismiss()`, `close()`, `expand()`, `collapse()`, `scrollTo(y, animated?)`.
|
|
216
|
+
|
|
217
|
+
`BottomSheetProps`:
|
|
218
|
+
|
|
219
|
+
- `children`
|
|
220
|
+
- `onDismiss?: () => void`
|
|
221
|
+
- `enablePanDownToClose?: boolean` — defaults to `true`.
|
|
222
|
+
- `enableHandlePanningGesture?: boolean` — defaults to `true`.
|
|
223
|
+
- `onDismissAttempt?: () => boolean` — return `false` to veto a dismiss attempt.
|
|
224
|
+
- `detached?: boolean` — when `true`, the sheet floats with horizontal margins and rounded corners on all sides; when `false`, it's flush to the bottom edges with rounded top corners only.
|
|
225
|
+
- `backgroundComponent?` — custom background renderer.
|
|
226
|
+
- `backdropComponent?` — custom backdrop renderer.
|
|
227
|
+
- `style?`
|
|
228
|
+
|
|
129
229
|
### Button
|
|
130
230
|
|
|
131
231
|
```tsx
|
|
@@ -270,6 +370,7 @@ import {
|
|
|
270
370
|
import { BloomThemeProvider, useTheme } from '@oxyhq/bloom/theme';
|
|
271
371
|
import * as Dialog from '@oxyhq/bloom/dialog';
|
|
272
372
|
import * as Prompt from '@oxyhq/bloom/prompt';
|
|
373
|
+
import { BottomSheet, type BottomSheetRef } from '@oxyhq/bloom/bottom-sheet';
|
|
273
374
|
import { Button, IconButton } from '@oxyhq/bloom/button';
|
|
274
375
|
import { GroupedButtons } from '@oxyhq/bloom/grouped-buttons';
|
|
275
376
|
import { Divider } from '@oxyhq/bloom/divider';
|
|
@@ -77,6 +77,7 @@ function Outer({
|
|
|
77
77
|
pressBehavior: "close",
|
|
78
78
|
opacity: 0.4
|
|
79
79
|
}), []);
|
|
80
|
+
const renderHandle = (0, _react.useCallback)(() => null, []);
|
|
80
81
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_bottomSheet.BottomSheetModal, {
|
|
81
82
|
ref: ref,
|
|
82
83
|
enablePanDownToClose: true,
|
|
@@ -88,12 +89,7 @@ function Outer({
|
|
|
88
89
|
borderTopLeftRadius: 20,
|
|
89
90
|
borderTopRightRadius: 20
|
|
90
91
|
},
|
|
91
|
-
|
|
92
|
-
backgroundColor: theme.colors.text,
|
|
93
|
-
width: 35,
|
|
94
|
-
height: 5,
|
|
95
|
-
opacity: 0.5
|
|
96
|
-
},
|
|
92
|
+
handleComponent: renderHandle,
|
|
97
93
|
backdropComponent: renderBackdrop,
|
|
98
94
|
onDismiss: handleDismiss,
|
|
99
95
|
style: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_bottomSheet","_reactNativeSafeAreaContext","_useTheme","_context","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Outer","children","control","onClose","testID","preventExpansion","theme","useTheme","ref","useRef","closeCallbacks","callQueuedCallbacks","useCallback","cb","current","console","error","open","present","close","push","dismiss","handleDismiss","useImperativeHandle","context","useMemo","isWithinDialog","renderBackdrop","props","jsx","BottomSheetBackdrop","appearsOnIndex","disappearsOnIndex","pressBehavior","opacity","BottomSheetModal","enablePanDownToClose","enableDismissOnClose","enableDynamicSizing","snapPoints","undefined","backgroundStyle","backgroundColor","colors","background","borderTopLeftRadius","borderTopRightRadius","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_bottomSheet","_reactNativeSafeAreaContext","_useTheme","_context","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Outer","children","control","onClose","testID","preventExpansion","theme","useTheme","ref","useRef","closeCallbacks","callQueuedCallbacks","useCallback","cb","current","console","error","open","present","close","push","dismiss","handleDismiss","useImperativeHandle","context","useMemo","isWithinDialog","renderBackdrop","props","jsx","BottomSheetBackdrop","appearsOnIndex","disappearsOnIndex","pressBehavior","opacity","renderHandle","BottomSheetModal","enablePanDownToClose","enableDismissOnClose","enableDynamicSizing","snapPoints","undefined","backgroundStyle","backgroundColor","colors","background","borderTopLeftRadius","borderTopRightRadius","handleComponent","backdropComponent","onDismiss","style","maxWidth","margin","Context","Provider","value","BottomSheetView","Inner","header","contentContainerStyle","insets","useSafeAreaInsets","jsxs","Fragment","View","paddingTop","paddingHorizontal","paddingBottom","bottom","top","ScrollableInner","handleStyles","StyleSheet","create","container","position","width","alignItems","zIndex","height","bar","borderRadius","alignSelf","Handle","useDialogContext","Pressable","onPress","accessibilityLabel","accessibilityHint","hitSlop","left","right","text","Close","Backdrop"],"sourceRoot":"../../../src","sources":["dialog/Dialog.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -56,6 +56,7 @@ export function Outer({
|
|
|
56
56
|
pressBehavior: "close",
|
|
57
57
|
opacity: 0.4
|
|
58
58
|
}), []);
|
|
59
|
+
const renderHandle = useCallback(() => null, []);
|
|
59
60
|
return /*#__PURE__*/_jsx(BottomSheetModal, {
|
|
60
61
|
ref: ref,
|
|
61
62
|
enablePanDownToClose: true,
|
|
@@ -67,12 +68,7 @@ export function Outer({
|
|
|
67
68
|
borderTopLeftRadius: 20,
|
|
68
69
|
borderTopRightRadius: 20
|
|
69
70
|
},
|
|
70
|
-
|
|
71
|
-
backgroundColor: theme.colors.text,
|
|
72
|
-
width: 35,
|
|
73
|
-
height: 5,
|
|
74
|
-
opacity: 0.5
|
|
75
|
-
},
|
|
71
|
+
handleComponent: renderHandle,
|
|
76
72
|
backdropComponent: renderBackdrop,
|
|
77
73
|
onDismiss: handleDismiss,
|
|
78
74
|
style: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useImperativeHandle","useMemo","useRef","Pressable","StyleSheet","View","BottomSheetModal","BottomSheetView","BottomSheetBackdrop","useSafeAreaInsets","useTheme","Context","useDialogContext","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","useDialogControl","Outer","children","control","onClose","testID","preventExpansion","theme","ref","closeCallbacks","callQueuedCallbacks","cb","current","e","console","error","open","present","close","push","dismiss","handleDismiss","context","isWithinDialog","renderBackdrop","props","appearsOnIndex","disappearsOnIndex","pressBehavior","opacity","enablePanDownToClose","enableDismissOnClose","enableDynamicSizing","snapPoints","undefined","backgroundStyle","backgroundColor","colors","background","borderTopLeftRadius","borderTopRightRadius","
|
|
1
|
+
{"version":3,"names":["React","useCallback","useImperativeHandle","useMemo","useRef","Pressable","StyleSheet","View","BottomSheetModal","BottomSheetView","BottomSheetBackdrop","useSafeAreaInsets","useTheme","Context","useDialogContext","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","useDialogControl","Outer","children","control","onClose","testID","preventExpansion","theme","ref","closeCallbacks","callQueuedCallbacks","cb","current","e","console","error","open","present","close","push","dismiss","handleDismiss","context","isWithinDialog","renderBackdrop","props","appearsOnIndex","disappearsOnIndex","pressBehavior","opacity","renderHandle","enablePanDownToClose","enableDismissOnClose","enableDynamicSizing","snapPoints","undefined","backgroundStyle","backgroundColor","colors","background","borderTopLeftRadius","borderTopRightRadius","handleComponent","backdropComponent","onDismiss","style","maxWidth","margin","Provider","value","Inner","header","contentContainerStyle","insets","paddingTop","paddingHorizontal","paddingBottom","bottom","top","ScrollableInner","handleStyles","create","container","position","width","alignItems","zIndex","height","bar","borderRadius","alignSelf","Handle","onPress","accessibilityLabel","accessibilityHint","hitSlop","left","right","text","Close","Backdrop"],"sourceRoot":"../../../src","sources":["dialog/Dialog.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../src/dialog/Dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAOjF,OAAO,KAAK,EAAsB,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEtF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC/D,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEtF,wBAAgB,KAAK,CAAC,EACpB,QAAQ,EACR,OAAO,EACP,OAAO,EACP,MAAM,EACN,gBAAgB,GACjB,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../src/dialog/Dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAOjF,OAAO,KAAK,EAAsB,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEtF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC/D,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEtF,wBAAgB,KAAK,CAAC,EACpB,QAAQ,EACR,OAAO,EACP,OAAO,EACP,MAAM,EACN,gBAAgB,GACjB,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,2CAqF3C;AAED,wBAAgB,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,EAAE,gBAAgB,2CAgBzF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,gBAAgB,2CAEtD;AAOD,wBAAgB,MAAM,4CAgBrB;AAED,wBAAgB,KAAK,SAEpB;AAED,wBAAgB,QAAQ,SAEvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../src/dialog/Dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAOjF,OAAO,KAAK,EAAsB,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEtF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC/D,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEtF,wBAAgB,KAAK,CAAC,EACpB,QAAQ,EACR,OAAO,EACP,OAAO,EACP,MAAM,EACN,gBAAgB,GACjB,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../src/dialog/Dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAOjF,OAAO,KAAK,EAAsB,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEtF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC/D,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEtF,wBAAgB,KAAK,CAAC,EACpB,QAAQ,EACR,OAAO,EACP,OAAO,EACP,MAAM,EACN,gBAAgB,GACjB,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,2CAqF3C;AAED,wBAAgB,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,EAAE,gBAAgB,2CAgBzF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,gBAAgB,2CAEtD;AAOD,wBAAgB,MAAM,4CAgBrB;AAED,wBAAgB,KAAK,SAEpB;AAED,wBAAgB,QAAQ,SAEvB"}
|
package/package.json
CHANGED
package/src/dialog/Dialog.tsx
CHANGED
|
@@ -72,6 +72,8 @@ export function Outer({
|
|
|
72
72
|
[],
|
|
73
73
|
);
|
|
74
74
|
|
|
75
|
+
const renderHandle = useCallback(() => null, []);
|
|
76
|
+
|
|
75
77
|
return (
|
|
76
78
|
<BottomSheetModal
|
|
77
79
|
ref={ref}
|
|
@@ -84,12 +86,7 @@ export function Outer({
|
|
|
84
86
|
borderTopLeftRadius: 20,
|
|
85
87
|
borderTopRightRadius: 20,
|
|
86
88
|
}}
|
|
87
|
-
|
|
88
|
-
backgroundColor: theme.colors.text,
|
|
89
|
-
width: 35,
|
|
90
|
-
height: 5,
|
|
91
|
-
opacity: 0.5,
|
|
92
|
-
}}
|
|
89
|
+
handleComponent={renderHandle}
|
|
93
90
|
backdropComponent={renderBackdrop}
|
|
94
91
|
onDismiss={handleDismiss}
|
|
95
92
|
style={{ maxWidth: 500, margin: 'auto' }}
|