Components
Menu
A dropdown list of actions anchored to a trigger.
Usage
Basic
Duplicate
Move to archive
Delete
HTML
<bs:bsui-menu>
<bs:bsui-menu-trigger trigger_label="Actions" trigger_variant="outline" />
<bs:bsui-menu-popup>
<bs:bsui-menu-item label="Duplicate" />
<bs:bsui-menu-item label="Move to archive" />
<bs:bsui-menu-item label="Delete" />
</bs:bsui-menu-popup>
</bs:bsui-menu>Disabled items
Unavailable actions stay visible for context but are skipped by keyboard navigation.
Deploy to staging
Deploy to production
Roll back last deploy
View build log
HTML
<bs:bsui-menu>
<bs:bsui-menu-trigger trigger_label="Deploy" trigger_variant="outline" />
<bs:bsui-menu-popup>
<bs:bsui-menu-item label="Deploy to staging" />
<bs:bsui-menu-item label="Deploy to production" disabled="true" />
<bs:bsui-menu-item label="Roll back last deploy" disabled="true" />
<bs:bsui-menu-item label="View build log" />
</bs:bsui-menu-popup>
</bs:bsui-menu>Split button
A menu inside a button group, giving the default action a button and the rest a dropdown.
Save and publish
Save as template
Save and close
HTML
<bs:bsui-button-group>
<bs:bsui-button label="Save draft" variant="outline" />
<bs:bsui-menu>
<bs:bsui-menu-trigger trigger_label="More" trigger_variant="outline" />
<bs:bsui-menu-popup>
<bs:bsui-menu-item label="Save and publish" />
<bs:bsui-menu-item label="Save as template" />
<bs:bsui-menu-item label="Save and close" />
</bs:bsui-menu-popup>
</bs:bsui-menu>
</bs:bsui-button-group>Row actions
A ghost kebab on each row, the quiet way per item actions reach a dense list.
| API key | Created | Actions |
|---|---|---|
|
Production
|
12 March
|
Copy key
Rotate key
Revoke key
|
|
Staging
|
4 April
|
Copy key
Rotate key
Revoke key
|
HTML
<bs:bsui-table sortable="false">
<bs:bsui-table-header>
<bs:bsui-table-header-cell columnId="key" label="API key" sortable="false" />
<bs:bsui-table-header-cell columnId="created" label="Created" sortable="false" />
<bs:bsui-table-header-cell columnId="actions" label="Actions" sortable="false" />
</bs:bsui-table-header>
<bs:bsui-table-body>
<bs:bsui-table-row>
<bs:bsui-table-cell>Production</bs:bsui-table-cell>
<bs:bsui-table-cell>12 March</bs:bsui-table-cell>
<bs:bsui-table-cell>
<bs:bsui-menu>
<bs:bsui-menu-trigger trigger_label="⋯" trigger_variant="ghost" trigger_size="icon-sm" />
<bs:bsui-menu-popup>
<bs:bsui-menu-item label="Copy key" />
<bs:bsui-menu-item label="Rotate key" />
<bs:bsui-menu-item label="Revoke key" />
</bs:bsui-menu-popup>
</bs:bsui-menu>
</bs:bsui-table-cell>
</bs:bsui-table-row>
<bs:bsui-table-row>
<bs:bsui-table-cell>Staging</bs:bsui-table-cell>
<bs:bsui-table-cell>4 April</bs:bsui-table-cell>
<bs:bsui-table-cell>
<bs:bsui-menu>
<bs:bsui-menu-trigger trigger_label="⋯" trigger_variant="ghost" trigger_size="icon-sm" />
<bs:bsui-menu-popup>
<bs:bsui-menu-item label="Copy key" />
<bs:bsui-menu-item label="Rotate key" />
<bs:bsui-menu-item label="Revoke key" />
</bs:bsui-menu-popup>
</bs:bsui-menu>
</bs:bsui-table-cell>
</bs:bsui-table-row>
</bs:bsui-table-body>
</bs:bsui-table>Anatomy
Menu is composed of the blocks below. Each one is a separate block that only renders inside its parent.
bsui/menubsui/menu-popupbsui/menu-itembsui/menu-trigger
Attributes
This block takes no attributes.
bsui/menu-popup
This block takes no attributes.
bsui/menu-item
| Attribute | Type | Default |
|---|---|---|
label |
richtext
|
— |
disabled |
toggle
|
false |
bsui/menu-trigger
| Attribute | Type | Default |
|---|---|---|
trigger |
text
|
— |
trigger_block |
text
|
bsui/button |
trigger_label |
richtext
|
— |
trigger_icon |
icon
|
— |
trigger_iconPosition |
left |
|
trigger_href |
text
|
— |
trigger_variant |
default |
|
trigger_size |
default |
|
trigger_disabled |
toggle
|
false |