Overview
ActionMenuList is a compound component for selecting block types. It auto-generates items from editor plugins and handles block type toggling. Designed to be opened from toolbar “Turn into” buttons, block options menus, etc.

Features
- API — controlled/uncontrolled with
open/onOpenChange - Auto-generated items — reads plugins from editor automatically
- Two view modes —
smallfor compact menus,defaultfor full display - Floating positioning — automatic positioning via Floating UI
- TypeScript — full type safety
Installation
Basic Usage
API Reference
ActionMenuList (Root)
Root component that manages state and context.
| Prop | Type | Description |
|---|---|---|
open | boolean | Controlled open state |
onOpenChange | (open: boolean) => void | Called when open state changes |
defaultOpen | boolean | Default open state (uncontrolled) |
anchor | HTMLElement | null | Anchor element for positioning |
view | 'small' | 'default' | View mode (default: 'default') |
placement | Placement | Floating UI placement (default: 'bottom-start') |
children | ReactNode | ((api) => ReactNode) | Content or render function |
| Property | Type | Description |
|---|---|---|
actions | ActionMenuItem[] | Available block types from plugins |
selectedAction | ActionMenuItem | null | Currently highlighted action |
onSelect | (type: string) => void | Execute action (toggle block) |
empty | boolean | Whether actions list is empty |
ActionMenuList.Content
Floating content panel. Auto-generates items if no children provided.
| Prop | Type | Description |
|---|---|---|
className | string | Custom CSS classes |
children | ReactNode | Optional custom content |
ActionMenuList.Group
Groups related items together.
ActionMenuList.Item
Individual menu item.
| Prop | Type | Description |
|---|---|---|
action | ActionMenuItem | Action data (type, title, description, icon) |
selected | boolean | Whether item is selected/highlighted |
icon | ReactNode | Override action’s icon |
onClick | (event) => void | Click handler |
ActionMenuList.Empty
Empty state when no actions are available.
Examples
With FloatingToolbar
With BlockOptions
Custom Items with Render Props
View Modes
Small View (Compact)
Use for toolbar menus and block options:- Smaller icons (20x20)
- No descriptions shown
- Compact padding
- Min width: 180px
Default View (Full)
Use for slash command menus and larger dropdowns:- Larger icons (40x40)
- Descriptions visible
- Standard padding
- Min width: 244px
Styling
CSS Variables
Custom Styles
Best Practices
Use small view for toolbar/block options
Use small view for toolbar/block options
Close parent menu when action completes
Close parent menu when action completes
Use keepOpen on trigger items
Use keepOpen on trigger items
Related Components
FloatingToolbar
Trigger ActionMenuList from “Turn into” button
BlockOptions
Trigger ActionMenuList from block context menu
SlashCommandMenu
Slash command menu (type / to insert blocks)

