Bottom Sheet
A native <dialog>-backed panel anchored to the bottom edge, draggable via its grabber, with optional Apple Maps-style snap points. Compose BottomSheetHeader / BottomSheetBody / BottomSheetFooter as children, the same lookup-by-class approach Modal uses.
Usage
import { BottomSheet, BottomSheetHeader, BottomSheetBody } from '@mav-labs-inc/mavkit-react'
// Single, content-sized sheet
<BottomSheet open={isOpen} onClose={() => setIsOpen(false)}>
<BottomSheetHeader>Share</BottomSheetHeader>
<BottomSheetBody><p>…</p></BottomSheetBody>
</BottomSheet>
// Starts content-sized, expandable via drag/tap/Enter
<BottomSheet open={isOpen} onClose={() => setIsOpen(false)} snapPoints={['auto', 0.92]}>
…
</BottomSheet>
// Apple Maps-style detents
<BottomSheet
open={isOpen}
onClose={() => setIsOpen(false)}
snapPoints={[0.3, 0.6, 0.92]}
snapIndex={snapIndex}
onSnapIndexChange={setSnapIndex}
>
…
</BottomSheet>Examples
Basic
Snap points
Props
BottomSheet
BottomSheetHeader
BottomSheetBody / BottomSheetFooter
Thin wrappers rendering a <div> with .bottom-sheet-body / .bottom-sheet-footer — accept every native <div> attribute, no extra props of their own.
Last updated on