(this page was created automatically. In case of formatting issues, please visit the official Wiki Page)

Overflow Menu

Overview

Example Overflow Menu

Specs

Tokens

Token Description
iconName Icon shown for the menu button
placement Position of the dropdown relative to the button
options List of menu items displayed in the dropdown
text Label for a menu item
showMenuLinkIcon Whether to show an icon with a menu item
iconPositionKey Where to place the item icon (left or right)
menuLinkLeftIconName Icon shown on the left of a menu item
menuLinkRightIconName Icon shown on the right of a menu item
paddingClass CSS classes that define padding
displayName Display name in the structure panel
events Configurable events for the component
ON_INIT (Events) Event fired when the component is initialized
ON_DESTROY (Events) Event fired when the component is removed
ON_OPTION_CLICK (Events) Event fired when a menu option is clicked
visibilityPolicySetId Controls visibility based on policy sets
displayConditions Conditions for when the menu is shown
id Unique identifier for the component
dataTestId Identifier for automated tests
enableAsHotspot Enables the component as a guided tour hotspot
guidedTourHotSpotTitle Title for guided tour highlight
guidedTourHotSpotDescription Description for guided tour highlight

Structure

(Configured in General Properties)

(Configured in Visibility)

(Configured in Visual Properties)

Variants of the layout

[
  {
    "text": "Edit Item",
    "type": "menu-link",
    "showMenuLinkIcon": true,
    "iconPositionKey": "menuLinkLeftIconName",
    "menuLinkLeftIconName": "edit-outline",
    "events": [
      {
        "type": "ON_OPTION_CLICK",
        "actions": [
          {
            "type": "NAVIGATE_TO_URL",
            "configuration": {
              "url": "/edit/{id}"
            }
          }
        ]
      }
    ]
  },
  {
    "text": "Delete Item",
    "type": "menu-link",
    "showMenuLinkIcon": true,
    "iconPositionKey": "menuLinkLeftIconName",
    "menuLinkLeftIconName": "delete-outline",
    "events": [
      {
        "type": "ON_OPTION_CLICK",
        "actions": [
          {
            "type": "SHOW_CONFIRMATION_DIALOG",
            "configuration": {
              "title": "Confirm Deletion",
              "message": "Are you sure you want to delete this item?"
            }
          }
        ]
      }
    ]
  }
]

Styling

(Configured in Visual Properties)

Icon selection

Placement menu

Actions & Variants

(Configured in Events)

Tests

(Configured in Testing Hooks)

Authorization

(Configured in Authorization)

Guidelines

Common Use Cases

Design Considerations

Usage

Sizing & Layout

States & Feedback

Color & Contrast

Interactions & Events

Data-Driven Behavior / Thresholds

Visibility & Authorization

Content & Localization

Environment & Input Methods

Testing Hooks

Do & Don’t

Do Don’t Relevant settings
Use a purposeful button icon (e.g., iconName: "more-outline" for overflow, "settings-outline" for configuration). Reuse a generic icon that misleads users about what’s inside. iconName
Keep the menu focused (≤ 7–8 items) and order by frequency. Dump every action into one long list. options (length & order)
Add helpful item icons to speed recognition (left-aligned). Rely on color alone to convey meaning. options[n].showMenuLinkIcon, iconPositionKey, menuLinkLeftIconName
Choose placement to avoid clipping near screen edges. Leave default placement that causes off-screen or covered items. placement
Gate visibility by role or context so only valid users see it. Show the menu to everyone and fail on click. visibilityPolicySetId, displayConditions
Bind distinct handlers per option for clear analytics and behavior. Handle all clicks with one catch-all that ignores which item was pressed. events.ON_OPTION_CLICK
Precompute dynamic options on init; clean up on destroy. Build options ad-hoc on first click; leak listeners. events.ON_INIT, events.ON_DESTROY, options
Make it discoverable in tours with clear copy. Enable hotspot without title/description. enableAsHotspot, guidedTourHotSpotTitle, guidedTourHotSpotDescription
Increase padding for touch/gloves. Keep small targets that are hard to tap. paddingClass
Use stable hooks for tests. Target DOM structure or visible text that may change. id, dataTestId

Accessibility