SusMenu

Popup menu anchored to an activator — items, dividers, shortcuts.
Package
SusKit · Atoms (commercial)
SusKit · Atoms
Props
| Name | Type | Default | |
|---|---|---|---|
Model | Prop<bool> | false | v-model |
CloseOnClick | Prop<bool> | true | v-model |
CloseOnContentClick | Prop<bool> | false | v-model |
OpenOnHover | Prop<bool> | false | v-model |
MinWidth | Prop<float> | 160f | v-model |
MaxWidth | Prop<float> | 320f | v-model |
MaxHeight | Prop<float> | 0f | v-model |
OffsetX | Prop<float> | 0f | v-model |
OffsetY | Prop<float> | 0f | v-model |
Location | Prop<string> | "bottom" | v-model |
Density | Prop<string> | "default" | v-model |
Rounded | Prop<string> | "default" | v-model |
Elevation | Prop<string> | "default" | v-model |
Transition | Prop<bool> | true | v-model |
TransitionDuration | Prop<float> | 150f | v-model |
Slots
No slots.
Events
| Name | Field | Payload |
|---|---|---|
Click | OnClick | — |
Open | OnOpen | — |
Close | OnClose | — |
ItemClick | OnItemClick | string |
Style hooks
USS class contract — override appearance without touching C#. States toggle via these classes:
sus-menusus-menu__contentsus-menu__dividersus-menu__itemsus-menu__item--disabledsus-menu__item--headersus-menu__item--highlightedsus-menu__item-checksus-menu__item-check--onsus-menu__item-check-iconsus-menu__item-chevronsus-menu__item-header-textsus-menu__item-iconsus-menu__item-label-areasus-menu__item-shortcutsus-menu__item-titlesus-menu__submenusus-menu--density-comfortablesus-menu--density-compactsus-menu--elevation-flatsus-menu--elevation-overlaysus-menu--open-on-hoversus-menu--rounded-pillsus-menu--rounded-sharp
Usage
Items are set in code (List<SusMenuItemData>). Wire an activator with SetActivator.
csharp
var menu = new SusMenu();
menu.Location.Value = "bottom";
menu.Items.Value = new List<SusMenu.SusMenuItemData>
{
new() { Title = "Edit", Value = "edit", Icon = "pencil", Shortcut = "Ctrl+E" },
new() { Title = "Duplicate", Value = "dup", Icon = "copy" },
new() { Type = SusMenu.SusMenuItemType.Divider },
new() { Title = "Delete", Value = "delete", Icon = "trash" },
};
menu.Model.Value = true; // open for preview
menu.OnItemClick += value => { /* … */ };
menu.SetActivator(activatorButton);| Prop | Role |
|---|---|
Items | List<SusMenuItemData> — rows / dividers / headers |
Model | Open (true) / closed |
Location | Popup side relative to activator |
CloseOnClick | Close when choosing an item |
OpenOnHover | Open on pointer enter |
Notes
- Item
Type:Default·Divider·Header·Checkbox·Radio. - Manual mode: skip
Itemsand build content yourself afterSetActivator.