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

Рецепты layout

Короткие рецепты для chrome- и layout-атомов, используемых на экранах top-nav и character/loadout. Storybook: Samples~/Storybook (icon-rail, wedge-slider, parallax-stack, app-bar).


SusIconRail

Вертикальная (по умолчанию) или горизонтальная полоса круглых элементов для category / loadout.

PropРоль
ItemsList<RailItem>Label, Value, Icon, Disabled
ModelВыбранное Value (или строка индекса)
Directionvertical | horizontal
OnChangedAction<string>

Layout корня может потребовать переопределений USS на стороне потребителя: Sharq scoping ломает self-target на .sus-icon-rail — помещайте unscoped-правила для root в companion / theme USS.

Хуки стиля

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

  • sus-icon-rail__icon
  • sus-icon-rail__item
  • sus-icon-rail__item--active
  • sus-icon-rail__item--disabled
  • sus-icon-rail__item--h
  • sus-icon-rail__label
  • sus-icon-rail--horizontal
  • sus-icon-rail--vertical

SusWedgeSlider

Сегментированный «volume wedge» (растущие столбики). Клик по строке задаёт количество заполненных сегментов.

PropРоль
LabelОпциональная подпись
Value / SegmentsКоличество заполненных 0…Segments
ShowValue / ValueTextЧисловое отображение
DisabledБлокирует ввод
OnChangedAction<int>

Хелпер: Bind(label, filled, segments = 10).

Хуки стиля

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

  • sus-wedge-slider
  • sus-wedge-slider__label
  • sus-wedge-slider__row
  • sus-wedge-slider__row--grow
  • sus-wedge-slider__seg
  • sus-wedge-slider__seg--h1
  • sus-wedge-slider__seg--h10
  • sus-wedge-slider__seg--h11
  • sus-wedge-slider__seg--h12
  • sus-wedge-slider__seg--h13
  • sus-wedge-slider__seg--h14
  • sus-wedge-slider__seg--h15
  • sus-wedge-slider__seg--h16
  • sus-wedge-slider__seg--h2
  • sus-wedge-slider__seg--h3
  • sus-wedge-slider__seg--h4
  • sus-wedge-slider__seg--h5
  • sus-wedge-slider__seg--h6
  • sus-wedge-slider__seg--h7
  • sus-wedge-slider__seg--h8
  • sus-wedge-slider__seg--h9
  • sus-wedge-slider__seg--on
  • sus-wedge-slider__value
  • sus-wedge-slider__wrap
  • sus-wedge-slider--disabled

SusParallaxStack

Управляемый указателем (pointer) слоистый стек: bg → pattern → subject → ui (tips) → chrome.

PropРоль
PatternAmp / SubjectAmp / UiAmpАмплитуда parallax (px)

Вызовите EnsureLayers() после build, чтобы получить Bg, Pattern, Subject, Ui, TipHost, Chrome. Добавляйте детей в эти слои; стек сам обрабатывает pointer move + lerp.

Хуки стиля

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

  • sus-parallax-stack
  • sus-parallax-stack__bg
  • sus-parallax-stack__chrome
  • sus-parallax-stack__pattern
  • sus-parallax-stack__subject
  • sus-parallax-stack__tips
  • sus-parallax-stack__ui
  • sus-parallax-stack--off

SusAppBar

Верхняя полоса со слотами prepend / default / append (+ опциональный extension при Prominent).

PropРоль
TitleПодпись в контенте
Densitydefault | compact | comfortable
Colorprimary | secondary | … | surface
Flat / Absolute / ProminentМодификаторы вида / позиционирования

Рецепт: default-слот = SusTabs; append = SusChip для currency / action (см. Storybook app-bar).

Хуки стиля

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

  • sus-app-bar
  • sus-app-bar__append
  • sus-app-bar__content
  • sus-app-bar__extension
  • sus-app-bar__prepend
  • sus-app-bar__row
  • sus-app-bar__title
  • sus-app-bar--absolute
  • sus-app-bar--danger
  • sus-app-bar--density-comfortable
  • sus-app-bar--density-compact
  • sus-app-bar--flat
  • sus-app-bar--info
  • sus-app-bar--primary
  • sus-app-bar--prominent
  • sus-app-bar--secondary
  • sus-app-bar--success
  • sus-app-bar--surface
  • sus-app-bar--warning
  • sus-slot