4.1 KiB
4.1 KiB
Frontend Guide: Geometry
Целевая шкала радиусов
Это нормативная target-scale для frontend UI:
rounded-lgдля controlsrounded-xlдля secondary cards и grouped blocksrounded-2xlдля primary panels, page sections и modal shellsrounded-fullдля pills, avatar, search capsules и похожих капсул
Эта шкала обязательна для новых экранов и перерабатываемых блоков.
Целевая шкала вертикального ритма
Радиусы сами по себе не делают систему согласованной. Если блоки одного веса выглядят похоже, у них должен быть одинаковый spacing.
Нормативная шкала:
gap-2для compact control clusters и плотных inline actionsspace-y-2для плотного стека внутри одного secondary/detail blockspace-y-3для стека однотипных rows или peer secondary cards внутри одной primary panelspace-y-4для стека крупных grouped blocks или major subsections внутри одной primary panelspace-y-6для page-level section stack
Правило:
- spacing выбирается по весу блока и уровню иерархии, а не по конкретному экрану
- одинаковые
app-surface-muted rounded-xlблоки не должны жить наspace-y-2в одной зоне и наspace-y-4в другой без явной UX-причины
Controls
К controls относятся:
- input
- textarea
- select
- shared select trigger
- небольшие action buttons
- small menu buttons
Норма:
rounded-lg
Secondary cards
К secondary cards относятся:
- вложенные блоки внутри primary panel
- grouped filter blocks
- компактные detail sections
- utility cards среднего веса
Норма:
rounded-xl
Primary panels
К primary panels относятся:
- основные секции страниц
- большие feature containers
- modal shells
- крупные empty / detail / state containers
Норма:
rounded-2xl
Специальные случаи
Допустимо:
rounded-fullдля capsules, chips, avatars- редкое отдельное решение для hero/media container, если оно согласовано как special case
Недопустимо по умолчанию:
- новый “авторский” радиус без системной причины
Legacy-геометрия
Считаются legacy:
rounded-mdу новых карточек и полейrounded-[...]без отдельного обоснования
Практический смысл:
- такое решение нельзя копировать в новые места
- при изменении существующего блока нужно оценить возможность перевода на базовую шкалу
Таксономия карточек
Primary container card
Признаки:
- основной контейнер feature-секции
- главный визуальный уровень страницы
Норма:
app-surfacerounded-2xl
Secondary grouped block
Признаки:
- вложенный блок внутри primary panel
- объединяет несколько связанных элементов
Норма:
app-surface-mutedrounded-xl
Inline utility / feedback block
Признаки:
- helper
- warning
- state summary
- selected or feedback fragment внутри карточки или формы
Норма:
app-selected,app-feedback-*илиapp-surface-mutedrounded-lgилиrounded-xlв зависимости от веса блока
Правило:
- не превращать маленький helper в ещё одну primary-card конструкцию