A panel that slides up for one focused task. Mobile docks with a grabber, and Web floats at 480.
FreeWeb and MobileMotion
Preview
npx shadcn add @fetaui/bottom-sheetPlayground
Types
States
Action rows
Type
State
Icons animation
Motion
Installation
Terminal· bash
npx shadcn add @fetaui/bottom-sheet
Accessibility
- A native modal dialog with the title as its label.
- Focus moves in and returns to the trigger.
- The grabber is decorative: always offer a visible close or Cancel.
Motion
- Rises on a 0.15 spring over 400 ms. Web scales from 0.96 and fades.
- Follows the finger, and dismisses past 30% or at 600 px/s.
- The grabber widens to 48 and darkens while pressed.
- With reduced motion, it fades in. Drag still follows.
Responsive behavior
- Full width with a grabber on Mobile. Rows are 52 high and buttons stack.
- 480 floating, 24 from the bottom on Web. Rows are 44 high.
Performance
- Shares Modal with Dialog: a native dialog that mounts only while open.
- While loading, the content keeps its space under the skeleton, so the sheet holds its height.
Note for AI
Give your coding assistant the Markdown reference instead of screenshots.
- Import BottomSheet and BottomSheetAction from @/components/fetaui/bottom-sheet after installing it.
- Mobile docks with a grabber and drops the close button when footer is set, so put Cancel there. Without a footer it keeps the close button. Web floats at 480 with a close button.
- locked stops every way out while something sends. loading shows the skeleton.
- The send in the demo is a timer, and the action rows only close the sheet. Composes Modal, IconButton and Skeleton.
Related
SheetComponentContent that complements the page, sliding in from an edge and floating 8 px in from it.DrawerComponentA panel from the edge of the screen: a floating side panel on Web and a bottom sheet on Mobile.Smooth DrawerComponentA drawer with heights to drag between: Peek shows the total and Pay, Expanded shows everything.DialogComponentA window over the page for one focused task, with the page behind made inert. On Mobile it is a bottom sheet.Tab BarComponentThree to five top destinations on Mobile, as a labeled bar or a floating dock.