diff --git a/native/bottom-sheets/bottom-sheet-handle.react.js b/native/bottom-sheets/bottom-sheet-handle.react.js new file mode 100644 index 000000000..8a50af1d9 --- /dev/null +++ b/native/bottom-sheets/bottom-sheet-handle.react.js @@ -0,0 +1,37 @@ +// @flow + +import * as React from 'react'; +import { View } from 'react-native'; + +import { useStyles } from '../themes/colors.js'; + +function BottomSheetHandle(): React.Node { + const styles = useStyles(unboundStyles); + + return ( + <> + + + + + + ); +} + +const unboundStyles = { + knobHandleContainer: { + marginTop: -12, + }, + knobHandle: { + width: 64, + height: 4, + backgroundColor: 'modalKnob', + alignSelf: 'center', + borderRadius: 4, + }, + gap: { + height: 32, + }, +}; + +export default BottomSheetHandle; diff --git a/native/bottom-sheets/bottom-sheet.react.js b/native/bottom-sheets/bottom-sheet.react.js index f805e70de..4708a72a9 100644 --- a/native/bottom-sheets/bottom-sheet.react.js +++ b/native/bottom-sheets/bottom-sheet.react.js @@ -1,57 +1,54 @@ // @flow import { BottomSheetModal } from '@gorhom/bottom-sheet'; import * as React from 'react'; +import BottomSheetHandle from './bottom-sheet-handle.react.js'; import { useStyles } from '../themes/colors.js'; type Props = { +children: React.Node, }; function ForwardedBottomSheet( props: Props, ref: React.Ref, ): React.Node { const { children } = props; const styles = useStyles(unboundStyles); const snapPoints = React.useMemo(() => ['25%', '50%'], []); return ( {children} ); } const unboundStyles = { background: { backgroundColor: 'modalForeground', }, - handleIndicator: { - backgroundColor: 'modalKnob', - width: 64, - }, }; const BottomSheet: React.AbstractComponent< Props, React.ElementRef, > = React.forwardRef>( ForwardedBottomSheet, ); BottomSheet.displayName = 'BottomSheet'; const MemoizedBottomSheet: typeof BottomSheet = React.memo< Props, React.ElementRef, >(BottomSheet); export default MemoizedBottomSheet;