К содержимому

SusMenuButton

SusMenuButton

Крупная плитка меню / режима — title, опциональный subtitle, иконки, selected.

Пакет

SusKit · Атомы (коммерческий)

Открыть в песочнице

SusKit · Atoms

Свойства

ИмяТипПо умолчанию
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

Слоты

Имя
loader
prepend
append

События

ИмяПолеPayload
ClickOnClick

Хуки стиля

Контракт USS-классов — внешний вид переопределяется без правки C#. Состояния переключаются этими классами:

  • 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

Использование

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

Вариант

elevated · flat · tonal · outlined · text · plain

Заметки

  • По умолчанию Block равен true (плитка на всю ширину). Установите false для компактных рядов.
  • Loading показывает слот loader, пока идёт загрузка.