Menu
import '@vollowx/seele/m3/menu/composed-menu.js';
import '@vollowx/seele/m3/menu/menu-item.js';
<md-button id="someButton">File</md-button>
<md-composed-menu for="someButton" vibrant>
<md-menu-item>New Text File</md-menu-item>
<md-menu-item>
New File...
<span slot="supporting-text">Not so supporting texts</span>
</md-menu-item>
<md-menu-item>
<span slot="overline">Over it</span>
New Window
<iconify-icon slot="end" icon="material-symbols:window"></iconify-icon>
</md-menu-item>
<md-divider inset></md-divider>
<md-menu-item>Open File...</md-menu-item>
<md-menu-item>Open Folder...</md-menu-item>
<md-divider inset></md-divider>
<md-menu-item selected>Save</md-menu-item>
<md-menu-item>Save As...</md-menu-item>
</md-composed-menu>
You can have more precise control on the menu element by not using
md-composed-menu, like this:
<md-button
id="anotherButton"
aria-haspopup="menu"
aria-controls="anotherMenu"
>
Settings
</md-button>
<md-popup for="anotherButton" role="application" vibrant>
<md-menu id="anotherMenu" aria-label="Labeled menu" style="width: 200px">
<md-menu-item>Alphabet</md-menu-item>
<md-menu-item>Apple</md-menu-item>
<md-menu-item>Blueprint</md-menu-item>
<md-menu-item>Crust</md-menu-item>
<md-menu-item>Introduction</md-menu-item>
<md-menu-item>Json</md-menu-item>
<md-menu-item>Klint</md-menu-item>
<md-menu-item>Linter</md-menu-item>
<md-menu-item>Market</md-menu-item>
<md-menu-item>Manifest</md-menu-item>
<md-menu-item>Zed</md-menu-item>
</md-menu>
</md-popup>
M3ComposedMenu
A popup that wraps an M3Menu inside a Popup. Use
this for standalone menus anchored to a button or other control.
- Inherits
Popup
Properties
| name | description |
|---|---|
vibrant |
Reflected boolean |
$menu |
M3Menu
A bare menu without popup or positioning. Used inside M3ComposedMenu and
M3Select.
- Inherits
Menu
M3MenuItem
- Inherits
M3ListItem