ActionSheet
Organism
A modal sheet of contextual actions, the iOS action sheet idiom: a bottom sheet of choices summoned in response to a user action, over a dimmed scrim that glass on the web also blurs.
Playground
Every control sets a real prop of ActionSheetProps. The JSX below updates as you go.
Web
iOS
Android
JSX · ActionSheetProps
Variants
4 examples from src/organisms/action-sheet/action-sheet.md, each rendered live from its own JSX.
Anatomy
1
Scrim
2
Sheet
3
Title
4
Action
5
Destructive action
6
Cancel
Dimmed parts appear only in some states or variants.
Props
10 props on ActionSheetProps, grouped as they are declared in source. Required props are marked *.
Accessibility and keyboard
Keyboard
Enter
Space
ArrowDown
Opens the menu
ArrowUp
ArrowDown
Moves between items
Home
End
First · last item
Enter
Chooses the item
Escape
Closes, focus returns to the trigger
Semantics
Roles
button
States
disabled
Below the platform minimum, the touch area grows to 44 pt on iOS and 48 dp on Android without moving the layout.
From the docs
iOS accessibility escape and Android system back request cancellation without running an action. An open child overlay handles the request first. Disabled actions do not disable cancellation, and a controlled owner can keep the sheet open. The visible Cancel row remains available to assistive technology.
Platform skins
The playground's props on each platform: same tree, native shapes, type and touch sizes.
Usage
It poses an optional title and message, lists a set of actions (any of which can be destructive), and offers a Cancel. Selecting an action runs it and closes the sheet; tapping the scrim or Cancel closes it without acting. Pass a trigger label for a self-contained button that opens the sheet, or drive open / onOpenChange yourself. For a small contextual menu anchored to a control, reach for Dropdown or RowMenu instead.
On the web the sheet is two cards a little off the window's edges: a centered header over full-width rows in the accent's ink (a destructive one in the error ink), each under a hairline, and a separate Cancel card. iOS keeps its Liquid Glass sheet with detached capsules, and Android the Material 3 bottom sheet with a drag handle and list rows.
iOS accessibility escape and Android system back request cancellation without running an action. An open child overlay handles the request first. Disabled actions do not disable cancellation, and a controlled owner can keep the sheet open. The visible Cancel row remains available to assistive technology.
Tokens
Read from the playground render. Values follow the scheme and the ion hue.
--bad
--bf
--bg2
--fd
--ft
--gl
--ion-tx
--ln
--ln2
--scrim
--sf3
--sh-lg
--tx2
--tx3