SusBtnToggle

Exclusive (or multi) mode switch — a row of buttons backed by Items + Model.
Package
SusKit · Atoms (commercial)
Props
| Name | Type | Default | |
|---|---|---|---|
Model | Prop<string> | "" | v-model |
Multiple | Prop<bool> | false | v-model |
Mandatory | Prop<bool> | true | v-model |
Divided | Prop<bool> | true | v-model |
Disabled | Prop<bool> | false | v-model |
Color | Prop<string> | "primary" | v-model |
Variant | Prop<string> | "outlined" | v-model |
Size | Prop<string> | "small" | v-model |
Slots
No slots.
Events
| Name | Field | Payload |
|---|---|---|
Change | OnChange | string |
Style hooks
USS class contract — override appearance without touching C#. States toggle via these classes:
sus-btn-togglesus-btn-toggle__btnsus-btn-toggle__btn--firstsus-btn-toggle__btn--lastsus-btn-toggle__rowsus-btn-toggle--disabledsus-btn-toggle--dividedsus-btn-toggle--multiplesus-button--activesus-button--color-dangersus-button--color-infosus-button--color-secondarysus-button--color-successsus-button--color-warning
Usage
csharp
var toggle = new SusBtnToggle();
toggle.Items.Value = new List<SusBtnToggle.BtnToggleItem>
{
new() { Label = "List", Value = "list", Icon = "list" },
new() { Label = "Grid", Value = "grid", Icon = "grid" },
new() { Label = "Map", Value = "map", Icon = "map" },
};
toggle.Model.Value = "list";
toggle.Mandatory.Value = true;
toggle.Divided.Value = true;
toggle.Variant.Value = "outlined";
toggle.Size.Value = "small";
toggle.OnChange += value => { /* … */ };| Prop | Role |
|---|---|
Items | List<BtnToggleItem> — Label, Value, Icon, Disabled |
Model | Selected value (single mode) |
Multiple / Selection | Multi-select mode + selected values |
Mandatory | Keep at least one selected |
Divided | Visual separators between buttons |
Variant
elevated · flat · tonal · outlined · text · plain