Skip to content

SusMenuButton

SusMenuButton

Large menu / mode tile — title, optional subtitle, icons, selected state.

Package

SusKit · Atoms (commercial)

Open in Playground

SusKit · Atoms

Props

NameTypeDefault
TextProp<string>""
SubtitleProp<string>""
VariantProp<string>"elevated"
ColorProp<string>"primary"
SizeProp<string>"large"
PrependIconProp<string>""
AppendIconProp<string>""
DisabledProp<bool>false
LoadingProp<bool>false
SelectedProp<bool>false
ActiveProp<bool>false
FocusedProp<bool>false
BlockProp<bool>true

Slots

Name
loader
prepend
append

Events

NameFieldPayload
ClickOnClick

Style hooks

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

  • keyboard-focus
  • sus-menu-button
  • sus-menu-button__body
  • sus-menu-button__content
  • sus-menu-button__icon-wrap
  • sus-menu-button__icon-wrap--append
  • sus-menu-button__icon-wrap--prepend
  • sus-menu-button__label
  • sus-menu-button__loader
  • sus-menu-button__subtitle
  • sus-menu-button--block
  • sus-menu-button--color-danger
  • sus-menu-button--color-info
  • sus-menu-button--color-primary
  • sus-menu-button--color-secondary
  • sus-menu-button--color-success
  • sus-menu-button--color-warning
  • sus-menu-button--disabled
  • sus-menu-button--elevated
  • sus-menu-button--flat
  • sus-menu-button--focused
  • sus-menu-button--loading
  • sus-menu-button--outlined
  • sus-menu-button--selected
  • sus-menu-button--size-default
  • sus-menu-button--size-lg
  • sus-menu-button--size-sm
  • sus-menu-button--size-xl
  • sus-menu-button--text
  • sus-menu-button--tonal
  • sus-slot

Usage

xml
<template>
  <sus:SusMenuButton Text="Campaign"
                     Subtitle="Continue story"
                     Variant="elevated"
                     Color="primary"
                     PrependIcon="flag"
                     Block="true"
                     @click="OnOpen" />
</template>

<script>
void OnOpen() { /* … */ }
</script>
csharp
var tile = new SusMenuButton();
tile.Text.Value = "Skirmish";
tile.Subtitle.Value = "Quick match";
tile.Variant.Value = "elevated";
tile.Selected.Value = true;
tile.OnClick += () => { /* … */ };

Variant

elevated · flat · tonal · outlined · text · plain

Notes

  • Default Block is true (full-width tile). Set false for compact rows.
  • Loading shows the loader slot while busy.