FloatingActionButtonMenu
FAB menus open from a floating action button to show a small set of related actions. This component uses the native popover API and implements the M3 Expressive one-size menu with primary, secondary, and tertiary color sets.
Anatomy
| Element | Part | Selector |
|---|---|---|
<div> | root | [data-scope="floating-action-button-menu"][data-part="root"]LMBCopy |
<button> | trigger | [data-scope="floating-action-button-menu"][data-part="trigger"]LMBCopy |
<Icon> | trigger-icon | [data-scope="floating-action-button-menu"][data-part="trigger-icon"]LMBCopy |
<Icon> | close-icon | [data-scope="floating-action-button-menu"][data-part="close-icon"]LMBCopy |
<div> | popover | [data-scope="floating-action-button-menu"][data-part="popover"]LMBCopy |
<div> | surface | [data-scope="floating-action-button-menu"][data-part="surface"]LMBCopy |
<div> | items | [data-scope="floating-action-button-menu"][data-part="items"]LMBCopy |
<component> | item | [data-scope="floating-action-button-menu"][data-part="item"]LMBCopy |
<span> | item-iconconditional | [data-scope="floating-action-button-menu"][data-part="item-icon"]LMBCopy |
<span> | item-label | [data-scope="floating-action-button-menu"][data-part="item-label"]LMBCopy |
Props
| Name | Description | Default | Control |
|---|---|---|---|
colorOptional | The color set of the FAB menu. primarysecondarytertiary | "primary" | |
sizeOptional | Size of the closed trigger FAB. The expanded menu always uses one item size. largemediumregular | "regular" | |
alignmentOptional | Horizontal alignment of menu items relative to the trigger FAB. startend | "end" | |
iconOptional | Name of the icon shown on the closed trigger FAB. string | undefined | "add" | |
closeIconOptional | Name of the icon shown on the close FAB. string | undefined | "close" | |
ariaLabelOptional | Accessible label for the trigger FAB. string | undefined | "Toggle menu" | |
disabledOptional | Whether the trigger FAB is disabled. boolean | undefined | false | |
openOptional | - boolean | undefined | false |
Events2
| Name | Type | Description |
|---|---|---|
update:open | [value: boolean] | - |
select | [event: MouseEvent, itemElement: HTMLElement] | - |
Slots1
| Name | Parameters | Description |
|---|---|---|
default | - | Menu items, usually FloatingActionButtonMenuItem components. |
Styling39
| Token | Description |
|---|---|
--md-fab-menu-trigger-container-colorColorFallback var(--md-sys-color-primary-container) | Controls trigger FAB container color. |
--md-fab-menu-trigger-icon-colorColorFallback var(--md-sys-color-on-primary-container) | Controls trigger FAB icon color. |
--md-fab-menu-trigger-state-layer-colorColorFallback var(--md-sys-color-on-primary-container) | Controls trigger FAB state layer color. |
--md-fab-menu-close-button-container-colorColorFallback var(--md-sys-color-primary) | Controls close button container color. |
--md-fab-menu-close-button-icon-colorColorFallback var(--md-sys-color-on-primary) | Controls close button icon color. |
--md-fab-menu-close-button-state-layer-colorColorFallback var(--md-sys-color-on-primary) | Controls close button state layer color. |
--md-fab-menu-item-container-colorColorFallback var(--md-sys-color-primary-container) | Controls menu item container color. |
--md-fab-menu-item-label-text-colorColorFallback var(--md-sys-color-on-primary-container) | Controls menu item label text color. |
--md-fab-menu-item-icon-colorColorFallback var(--md-sys-color-on-primary-container) | Controls menu item icon color. |
--md-fab-menu-item-state-layer-colorColorFallback var(--md-sys-color-on-primary-container) | Controls menu item state layer color. |
--md-fab-menu-trigger-container-elevationElevationFallback var(--md-sys-elevation-level3) | Controls trigger FAB container elevation. |
--md-fab-menu-close-button-container-elevationElevationFallback var(--md-sys-elevation-level3) | Controls close button container elevation. |
--md-fab-menu-close-button-hovered-container-elevationElevationFallback var(--md-sys-elevation-level4) | Controls hovered close button container elevation. |
--md-fab-menu-close-button-focused-container-elevationElevationFallback var(--md-sys-elevation-level3) | Controls focused close button container elevation. |
--md-fab-menu-close-button-pressed-container-elevationElevationFallback var(--md-sys-elevation-level3) | Controls pressed close button container elevation. |
--md-fab-menu-item-container-elevationElevationFallback var(--md-sys-elevation-level0) | Controls menu item container elevation. |
--md-fab-menu-item-hovered-container-elevationElevationFallback var(--md-sys-elevation-level4) | Controls hovered menu item container elevation. |
--md-fab-menu-item-focused-container-elevationElevationFallback var(--md-sys-elevation-level3) | Controls focused menu item container elevation. |
--md-fab-menu-item-pressed-container-elevationElevationFallback var(--md-sys-elevation-level3) | Controls pressed menu item container elevation. |
--md-fab-menu-trigger-container-heightSizeFallback 56px, 80px, or 96px depending on size | Controls trigger FAB container height. |
--md-fab-menu-trigger-container-widthSizeFallback 56px, 80px, or 96px depending on size | Controls trigger FAB container width. |
--md-fab-menu-trigger-container-shapeShapeFallback var(--md-shape-fab-regular), var(--md-shape-fab-medium), or var(--md-shape-fab-large) depending on size | Controls trigger FAB container shape. |
--md-fab-menu-trigger-icon-sizeSizeFallback 24px, 28px, or 36px depending on size | Controls trigger FAB icon size. |
--md-fab-menu-close-button-container-heightSizeFallback 56px | Controls close button container height. |
--md-fab-menu-close-button-container-widthSizeFallback 56px | Controls close button container width. |
--md-fab-menu-close-button-container-shapeShapeFallback var(--md-shape-action) | Controls close button container shape. |
--md-fab-menu-close-button-icon-sizeSizeFallback 20px | Controls close button icon size. |
--md-fab-menu-close-button-between-spaceSpacingFallback 8px | Controls space between menu items and close button. |
--md-fab-menu-item-container-heightSizeFallback 56px | Controls menu item container height. |
--md-fab-menu-item-container-shapeShapeFallback var(--md-shape-action) | Controls menu item container shape. |
--md-fab-menu-item-icon-sizeSizeFallback 24px | Controls menu item icon size. |
--md-fab-menu-item-leading-spaceSpacingFallback 24px | Controls menu item leading space. |
--md-fab-menu-item-icon-label-spaceSpacingFallback 8px | Controls space between menu item icon and label. |
--md-fab-menu-item-trailing-spaceSpacingFallback 24px | Controls menu item trailing space. |
--md-fab-menu-item-between-spaceSpacingFallback 4px | Controls vertical space between menu items. |
--md-fab-menu-container-padding-inlineSpacingFallback 16px | Controls inline padding around the popover surface. |
--md-fab-menu-focus-indicator-colorFocusFallback var(--md-sys-color-primary) | Controls focus indicator color. |
--md-fab-menu-focus-indicator-thicknessFocusFallback var(--md-sys-state-focus-indicator-thickness) | Controls focus indicator thickness. |
--md-fab-menu-focus-indicator-outline-offsetFocusFallback var(--md-sys-state-focus-indicator-outer-offset) | Controls focus indicator outline offset. |