The Dynamic Overflow Menu Component is a versatile UI element that provides a compact dropdown menu, typically represented by an icon button. When clicked, it displays a list of selectable options. This component is ideal for implementing contextual actions, secondary features, or additional options without cluttering the interface. The overflow menu can be configured with different icons, placement options, and menu items to suit various application needs.
iconName - Sets the icon displayed for the overflow menu button. For example, setting this to "more-outline" creates a three-dot menu icon, while "settings-outline" creates a gear icon that suggests configuration options.
placement - Determines where the dropdown menu appears relative to the button. Options include "top", "right", "bottom", and "left". For example, setting this to "bottom" makes the menu appear below the button, which is useful when the component is placed near the top of the screen.
options - Defines the menu items that appear when the overflow menu is opened. Each option can have properties such as:
text: The label shown for the menu item
showMenuLinkIcon: Whether to display an icon next to the menu item text
iconPositionKey: Where to place the icon ("menuLinkLeftIconName" or "menuLinkRightIconName")
menuLinkLeftIconName/menuLinkRightIconName: The specific icon to display
paddingClass - Configures the padding around the component using CSS classes. For example, "p-2" adds medium padding on all sides of the overflow menu button.
id - Specifies a unique identifier for the component, useful for programmatic access in testing or custom code.
dataTestId - Sets a testing hook ID for automated testing, allowing test scripts to reliably identify this overflow menu component.
enableAsHotspot - Enables the component as a guided tour hotspot. When enabled, this overflow menu can be highlighted during onboarding tours.
guidedTourHotSpotTitle - Sets the title text displayed when this component is highlighted in a guided tour, with support for translations.
guidedTourHotSpotDescription - Sets the descriptive text explaining the overflow menu's purpose during a guided tour, with support for translations.
The overflow menu options can be extensively configured:
[
{
"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?"
}
}
]
}
]
}
]
The Dynamic Overflow Menu component is commonly used for:
When implementing the overflow menu component:
This component helps maintain a clean, uncluttered interface while still providing access to important functionality when needed.