Smart Overflow
Use Smart Overflow when a compact product action group needs to preserve its most important actions as available width decreases. Lower-priority actions move into an accessible three-dot menu instead of wrapping or requiring horizontal scrolling.
Preview
Basic usage
Examples
Assign primary to actions that should remain visible longest. secondary actions move into the menu before primary actions, starting from the end of the child order. Use overflow for actions that should always live in the three-dot menu.
Use destructive for actions such as Archive or Delete. They retain their own visual treatment in the menu. Keep destructive actions in overflow unless they are genuinely the user's main next step.
Usage
API
| Property | Type | Default | Description |
|---|---|---|---|
children | ReactNode | required | Priority-aware action declarations. Only direct SmartOverflowAction children are rendered. |
ariaLabel | string | "Actions" | Accessible label for the action group. |
moreLabel | string | "More actions" | Accessible label for the three-dot trigger. |
disabled | boolean | false | Whether every action is unavailable. |
className | string | undefined | Additional CSS classes for the group container. |
actionClassName | string | undefined | Additional CSS classes applied to each visible action. |
moreButtonClassName | string | undefined | Additional CSS classes applied to the three-dot trigger. |
menuClassName | string | undefined | Additional CSS classes for the overflow menu. |
Accessibility
The visible controls use button semantics. Hidden actions remain available through an accessible three-dot menu with Base UI menu keyboard navigation and focus management. If a focused action moves into overflow after a resize, focus returns to the three-dot trigger. Layout motion is disabled for people who prefer reduced motion.
Styling
The component uses the consumer's semantic tokens for surfaces, text, focus, and destructive menu actions. Use the class name props to adapt the action buttons, trigger, or menu surface without changing its responsive priority behavior.
Contact
Found a bug or need help using this component? Open an issue on GitHub.
License & Usage
Sona UI is available under the MIT license. You may use, modify, and distribute this component in personal and commercial projects.
Was this page helpful?
Your response helps us improve component docs.