Skip to content
nexubDesign System
v2.4.0

Components · Mobile only · Overlays

Bottom Sheet

AlphaiOS & Android

A sheet from the bottom with detents, a grabber and keyboard handling. Works in Expo Go; no native dependency.

Usage

@nexub/react-nativeWeb: Sheet / Drawer
import { BottomSheet } from '@nexub/react-native';

<BottomSheet open={open} onOpenChange={setOpen} detents={[0.5, 0.9]} title="Filters">…</BottomSheet>

Interactive preview of @nexub/react-native rendered for the web. Native chrome (switches, pickers, Liquid Glass) looks like the platform on a device.

On device

Bottom Sheet on iPhone (iOS simulator)

iPhone (iOS simulator)

Bottom Sheet on Pixel (Android emulator)

Pixel (Android emulator)

Screenshots from the latest CI run of the showcase app; the live frame renders the same code for the web.

BottomSheet props

BottomSheet props (React Native)
PropTypeDefaultDescription
openrequiredboolean——
onOpenChangerequired(open: boolean) => void——
detentsSheetDetent[]['content']Heights the sheet rests at: 'content' (fits its content) or a 0–1 fraction of the screen.
titlestring——
childrenrequiredReact.ReactNode——
dismissablebooleantrueDrag down, tap the scrim or Android back closes it.
scrollboolean—Let the content scroll (long lists).