RowMenu
Organism
Vertical action menu items and navigation links.
Playground
Every control sets a real prop of RowMenuProps. The JSX below updates as you go.
Web
iOS
Android
JSX · RowMenuProps
Variants
4 examples from src/organisms/row-menu/row-menu.md, each rendered live from its own JSX.
Anatomy
1
Trigger
2
Menu
3
Item
4
Destructive item
Dimmed parts appear only in some states or variants.
Props
10 props on RowMenuProps, 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
link
menu
menuitem
States
expanded
ARIA on web
aria-disabled
aria-expanded
aria-haspopup
aria-label
Below the platform minimum, the touch area grows to 44 pt on iOS and 48 dp on Android without moving the layout.
Platform skins
The playground's props on each platform: same tree, native shapes, type and touch sizes.
Usage
On the web the ··· trigger is a 32px square on the field hairline, washed while its menu is open or under the pointer, and it opens a card menu 220 wide: rows 34 tall with a muted leading glyph beside the label, and a destructive row in red. iOS and Android keep their platform context menus in the theme's colours.
In glass mode the menu is a dense-layer glass card beside its glyph; a row's callback fires the moment it is pressed. Solid mode paints the skin's own menu. Board's card menus are RowMenus and behave the same.
Tokens
Read from the playground render. Values follow the scheme and the ion hue.
--bad
--fd
--ft
--ln
--ln2
--sf
--sf3
--sh-md
--tx3