Рецепты layout
Короткие рецепты для chrome- и layout-атомов, используемых на экранах top-nav и character/loadout. Storybook: Samples~/Storybook (icon-rail, wedge-slider, parallax-stack, app-bar).
SusIconRail
Вертикальная (по умолчанию) или горизонтальная полоса круглых элементов для category / loadout.
| Prop | Роль |
|---|---|
Items | List<RailItem> — Label, Value, Icon, Disabled |
Model | Выбранное Value (или строка индекса) |
Direction | vertical | horizontal |
OnChanged | Action<string> |
Layout корня может потребовать переопределений USS на стороне потребителя: Sharq scoping ломает self-target на .sus-icon-rail — помещайте unscoped-правила для root в companion / theme USS.
Хуки стиля
Контракт USS-классов — внешний вид переопределяется без правки C#. Состояния переключаются этими классами:
sus-icon-rail__iconsus-icon-rail__itemsus-icon-rail__item--activesus-icon-rail__item--disabledsus-icon-rail__item--hsus-icon-rail__labelsus-icon-rail--horizontalsus-icon-rail--vertical
SusWedgeSlider
Сегментированный «volume wedge» (растущие столбики). Клик по строке задаёт количество заполненных сегментов.
| Prop | Роль |
|---|---|
Label | Опциональная подпись |
Value / Segments | Количество заполненных 0…Segments |
ShowValue / ValueText | Числовое отображение |
Disabled | Блокирует ввод |
OnChanged | Action<int> |
Хелпер: Bind(label, filled, segments = 10).
Хуки стиля
Контракт USS-классов — внешний вид переопределяется без правки C#. Состояния переключаются этими классами:
sus-wedge-slidersus-wedge-slider__labelsus-wedge-slider__rowsus-wedge-slider__row--growsus-wedge-slider__segsus-wedge-slider__seg--h1sus-wedge-slider__seg--h10sus-wedge-slider__seg--h11sus-wedge-slider__seg--h12sus-wedge-slider__seg--h13sus-wedge-slider__seg--h14sus-wedge-slider__seg--h15sus-wedge-slider__seg--h16sus-wedge-slider__seg--h2sus-wedge-slider__seg--h3sus-wedge-slider__seg--h4sus-wedge-slider__seg--h5sus-wedge-slider__seg--h6sus-wedge-slider__seg--h7sus-wedge-slider__seg--h8sus-wedge-slider__seg--h9sus-wedge-slider__seg--onsus-wedge-slider__valuesus-wedge-slider__wrapsus-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-stacksus-parallax-stack__bgsus-parallax-stack__chromesus-parallax-stack__patternsus-parallax-stack__subjectsus-parallax-stack__tipssus-parallax-stack__uisus-parallax-stack--off
SusAppBar
Верхняя полоса со слотами prepend / default / append (+ опциональный extension при Prominent).
| Prop | Роль |
|---|---|
Title | Подпись в контенте |
Density | default | compact | comfortable |
Color | primary | secondary | … | surface |
Flat / Absolute / Prominent | Модификаторы вида / позиционирования |
Рецепт: default-слот = SusTabs; append = SusChip для currency / action (см. Storybook app-bar).
Хуки стиля
Контракт USS-классов — внешний вид переопределяется без правки C#. Состояния переключаются этими классами:
sus-app-barsus-app-bar__appendsus-app-bar__contentsus-app-bar__extensionsus-app-bar__prependsus-app-bar__rowsus-app-bar__titlesus-app-bar--absolutesus-app-bar--dangersus-app-bar--density-comfortablesus-app-bar--density-compactsus-app-bar--flatsus-app-bar--infosus-app-bar--primarysus-app-bar--prominentsus-app-bar--secondarysus-app-bar--successsus-app-bar--surfacesus-app-bar--warningsus-slot