SusToggle

Булев switch с label — on/off для настроек и фильтров.
Пакет
SusKit · Атомы (коммерческий)
Свойства
| Имя | Тип | По умолчанию | |
|---|---|---|---|
Model | Prop<bool> | false | v-model |
Label | Prop<string> | "" | v-model |
Color | Prop<string> | "primary" | v-model |
LabelPosition | Prop<string> | "right" | v-model |
Inset | Prop<bool> | false | v-model |
Disabled | Prop<bool> | false | v-model |
Loading | Prop<bool> | false | v-model |
Density | Prop<string> | "default" | v-model |
Variant | Prop<string> | "icon" | v-model |
Слоты
Слотов нет.
События
| Имя | Поле | Payload |
|---|---|---|
Change | OnChange | bool |
Хуки стиля
Контракт USS-классов — внешний вид переопределяется без правки C#. Состояния переключаются этими классами:
keyboard-focussus-togglesus-toggle__iconsus-toggle__labelsus-toggle__label--leftsus-toggle__label--rightsus-toggle__track-thumbsus-toggle--activesus-toggle--dangersus-toggle--density-comfortablesus-toggle--density-compactsus-toggle--disabledsus-toggle--insetsus-toggle--label-leftsus-toggle--label-rightsus-toggle--loadingsus-toggle--primarysus-toggle--successsus-toggle--track
Использование
xml
<template>
<sus:SusToggle Label="Show HUD"
:Model="HudVisible.Value"
Color="primary"
LabelPosition="right"
@change="OnHud" />
</template>
<script>
public Prop<bool> HudVisible = new(true);
void OnHud(bool value) { /* … */ }
</script>csharp
var toggle = new SusToggle();
toggle.Label.Value = "Mute chat";
toggle.Model.Value = false;
toggle.Color.Value = "success";
toggle.Inset.Value = true;
toggle.OnChange += value => { /* … */ };Цвета
primary · success · danger (плюс токены темы, если разрешено)
Заметки
LabelPosition:left·right.Loadingдержит контрол в состоянии busy, пока настройка синхронизируется.