Skip to content

SusToggle

SusToggle

Boolean switch with label — on/off for settings and filters.

Package

SusKit · Atoms (commercial)

Open in Playground

SusKit · Atoms

Props

NameTypeDefault
ModelProp<bool>falsev-model
LabelProp<string>""v-model
ColorProp<string>"primary"v-model
LabelPositionProp<string>"right"v-model
InsetProp<bool>falsev-model
DisabledProp<bool>falsev-model
LoadingProp<bool>falsev-model
DensityProp<string>"default"v-model
VariantProp<string>"icon"v-model

Slots

No slots.

Events

NameFieldPayload
ChangeOnChangebool

Style hooks

USS class contract — override appearance without touching C#. States toggle via these classes:

  • keyboard-focus
  • sus-toggle
  • sus-toggle__icon
  • sus-toggle__label
  • sus-toggle__label--left
  • sus-toggle__label--right
  • sus-toggle__track-thumb
  • sus-toggle--active
  • sus-toggle--danger
  • sus-toggle--density-comfortable
  • sus-toggle--density-compact
  • sus-toggle--disabled
  • sus-toggle--inset
  • sus-toggle--label-left
  • sus-toggle--label-right
  • sus-toggle--loading
  • sus-toggle--primary
  • sus-toggle--success
  • sus-toggle--track

Usage

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 => { /* … */ };

Colors

primary · success · danger (plus theme tokens when allowed)

Notes

  • LabelPosition: left · right.
  • Loading keeps the control busy while a setting syncs.