Spacing & Layout

Система отступов и компоновки в SDDS.

См. также: sizes.md — размерная шкала компонентов, interaction-model.md — правила взаимодействия.

Шкала отступов

Базовый шаг: 4px. Все значения кратны 4 — произвольные числа не допускаются.

SDDS не использует отдельные spacing-переменные (CSS-переменные вида --spacing/N отсутствуют). Компоненты применяют значения напрямую как hardcoded px. Шкала ниже — справочник допустимых значений.

Логика шкалы: каждый следующий шаг = +4px. Размер компонента определяет его внутренний padding; расстояния между компонентами выбираются из той же шкалы.

Значениеpx → T-shirtПрименение
4px—Внутренние отступы мелких элементов, gap внутри Badge/Chip
8px—Отступ между иконкой и лейблом внутри компонента
12pxXSВнутренний padding XS-компонентов
16pxSВнутренний padding S-компонентов
20pxMВнутренний padding M-компонентов
24pxLВнутренний padding L-компонентов
28pxXLВнутренний padding XL-компонентов
32px—Расстояние между крупными блоками, gap между секциями формы
40px—Секционный отступ, разделение смысловых групп

Внутренние отступы компонентов

Кнопки (горизонтальный padding)

РазмерВысотаPadding H
XS32px12px
S40px16px
M48px20px
L56px24px
XL64px28px

Поля ввода (TextField, Select — горизонтальный padding)

РазмерВысотаPadding H
XS32px12px
S40px16px
M48px20px
L56px24px
XL64px28px

Горизонтальный padding полей совпадает с кнопками той же ступени — это обеспечивает визуальное выравнивание при соседстве в одной строке.

Расстояния между компонентами

Внутренние отступы компонентов задаются системой выше. Расстояния между компонентами выбираются из той же шкалы:

КонтекстGap
Иконка и лейбл внутри компонента8px
Поля в inline-группе (TextField + Button)8px
Поля в вертикальной форме16px
Группы полей между собой24px
Секции формы / смысловые блоки32–40px
Отдельные карточки / панели16–24px

Правила

  • Используйте только значения из шкалы — не произвольные числа
  • Не смешивайте разные единицы (px и %) в одном блоке без явной причины
  • Сохраняйте вертикальный ритм: отступы между элементами кратны 4px
  • Иконка и лейбл разделяются 8px
  • Не уменьшайте gap между полями формы ниже 16px — элементы сливаются визуально
  • Один размер отступа на контекст: не смешивайте 16px и 24px между полями одной формы
Нашли расхождение документации и библиотеки — напишите команде.Сообщить о расхождении