Implement FAB Menu component with Material Design 3 specifications #6
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR implements a complete FAB Menu component that follows Material Design 3 specifications exactly as outlined in the issue requirements.
Overview
The FAB Menu is a floating action button menu that opens from a FAB to display multiple related actions. This implementation provides all the required features including proper Material Design 3 styling, color variants, animations, and responsive positioning for different FAB sizes.
Key Features
🎨 Material Design 3 Compliance
md.sys.elevation.level3for close button, level 0 for menu itemsmd.sys.shape.corner.full🌈 Color Configurations
Three complete color variants as specified:
📏 FAB Size Support
Responsive positioning that adapts to different FAB sizes:
✨ Complete Functionality
menu,menuitem) and keyboard navigationTechnical Implementation
Components Added
FabMenu: Main container component with floating-ui positioningFabMenuItem: Individual menu item with icon and label supportArchitecture Decisions
@floating-ui/reactfor positioning and animations (consistent with existing NestedMenu)forwardRef,ExtendProps, Ripple integration)Usage Example
Screenshots
FAB Menu Closed (Primary Variant):

FAB Menu Open (Primary Variant):

Secondary Color Variant:

Large FAB with Adjusted Positioning:

Testing
The implementation has been thoroughly tested with:
The component is production-ready and fully compliant with Material Design 3 specifications.
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.