This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.
ModalBottomSheet
A Jetpack Compose ModalBottomSheet component that presents content from the bottom of the screen.
Expo UI ModalBottomSheet matches the official Jetpack Compose Bottom Sheet API and displays content in a modal sheet that slides up from the bottom.
Installation
If you are installing this in an existing React Native app, make sure to install expo in your project.
Usage
Basic bottom sheet
Use ref.hide() to programmatically dismiss the sheet with an animation before unmounting it.
Skip partially expanded state
When skipPartiallyExpanded is set, the sheet opens directly in the fully expanded state instead of stopping at the half-height position first.
Custom colors
Use containerColor, contentColor, and scrimColor to customize the sheet's appearance.
Custom drag handle
Use ModalBottomSheet.DragHandle slot to provide a custom drag handle, or set showDragHandle={false} to hide it entirely.
React Native content inside a bottom sheet
Use RNHostView to embed interactive React Native views inside a Compose bottom sheet. This lets you mix Compose layout with RN components like Pressable and Text.
React Native content with flex
Use RNHostView without matchContents to let the RN view fill the remaining space inside the sheet. Combine with a fixed height modifier on the parent Column to control the sheet size.
Non-dismissible sheet
Combine properties, sheetGesturesEnabled to create a sheet that can only be closed programmatically.
API
import { ModalBottomSheet } from '@expo/ui/jetpack-compose';
Constants
Props
React.ReactNodeThe children of the ModalBottomSheet component.
Can include a ModalBottomSheet.DragHandle slot for a custom drag handle.
ColorValueThe preferred color of the content inside the bottom sheet.
() => voidCallback function that is called when the user dismisses the bottom sheet (via swipe, back press, or tapping outside the scrim).
ModalBottomSheetPropertiesProperties for the modal window behavior.
Ref<ModalBottomSheetRef>Can be used to imperatively hide the bottom sheet with an animation.
boolean • Default: trueWhether gestures (swipe to dismiss) are enabled on the bottom sheet.
boolean • Default: trueWhether to show the default drag handle at the top of the bottom sheet.
Ignored if a custom ModalBottomSheet.DragHandle slot is provided.