Урок 6 из 8 · 20 мин · обновлено

Компоненты и дизайн-система

Как не рисовать одну кнопку двадцать раз: компоненты и варианты в Figma, состояния элементов, адаптивность под разные экраны и что такое дизайн-система.

Компоненты

На экранах «Зерна» десятки одинаковых кнопок, строк меню и полей. Если каждую рисовать отдельно, однажды захочется поменять скругление углов — и придётся править сорок кнопок вручную, обязательно пропустив пару.

Компонент в Figma — образец элемента (Ctrl+Alt+K или Cmd+Option+K). Его копии — экземпляры — связаны с ним: поменяли главный компонент — поменялись все экземпляры во всех макетах. В экземпляре можно менять текст и иконку, не разрывая связь.

Компоненты собирают из маленьких в большие: иконка и текст → кнопка → строка меню → карточка заказа.

Варианты и состояния

Одна кнопка бывает разной:

  • стиль: главная (залитая акцентом), второстепенная (с рамкой), текстовая;
  • размер: большая, средняя, маленькая;
  • состояние: обычное, нажатое, неактивное, в фокусе для навигации с клавиатуры, загрузка.

В Figma всё это собирают в один компонент с вариантами (Variants): в правой панели переключаете «Стиль: главная, Состояние: неактивная» — и кнопка меняет вид.

Состояния есть не только у кнопок. Для поля ввода: пустое, в фокусе, заполненное, с ошибкой и подсказкой, неактивное. Для экрана целиком: загрузка, пусто («Здесь появятся ваши заказы»), ошибка («Нет соединения»), данные. Если какое-то состояние не нарисовано, его придумает разработчик — и, скорее всего, не так, как хотелось бы.

Адаптивность

Одним продуктом пользуются на телефоне, планшете и компьютере. Дизайнер продумывает, как макет перестраивается на разной ширине. Опорные ширины называют брейкпоинтами, например:

  • 360–430 — телефоны;
  • 768 — планшеты;
  • 1280–1440 — ноутбуки и компьютеры.

На телефоне меню — список в одну колонку и нижняя навигация, на компьютере — сетка карточек в три колонки и меню сверху. Auto Layout и ограничения (Constraints) в Figma помогают проверить, как элементы растягиваются.

Для мобильных приложений есть ещё правило размера касания: нажимаемая область — не меньше 44–48 точек, иначе по кнопке трудно попасть пальцем.

Дизайн-система

Когда в продукте сотни экранов и несколько дизайнеров, нужны общие правила — дизайн-система:

  • основы: цвета, шрифты, отступы, сетка, иконки, скругления, тени;
  • компоненты: кнопки, поля, карточки, списки, вкладки, диалоги — со всеми вариантами и состояниями;
  • правила использования: когда какую кнопку ставить, как писать тексты ошибок.

Дизайнеры собирают экраны из компонентов в Figma, а разработчики — из тех же компонентов в коде. Продукт выглядит единообразно, а новые экраны делаются быстрее.

Учиться удобно на открытых системах: Material Design 3 от Google и Human Interface Guidelines от Apple. Свои дизайн-системы есть у многих крупных компаний, в том числе российских.

Попробуйте сами. Сделайте в Figma компонент главной кнопки «Зерна» с вариантами состояний: обычное, нажатое, неактивное, загрузка. Замените ей все главные кнопки в своих макетах.

Как может выглядеть набор
  • Обычное: фон #7A4A2A, белый текст, высота 48, скругление 12, Auto Layout с отступами 16 по бокам.
  • Нажатое: фон темнее, #5E3820. Пользователь видит, что нажатие сработало.
  • Неактивное: серый фон #E5E0DC и серый текст. Кнопка видна, но понятно, что сейчас она недоступна: например, не выбрано время.
  • Загрузка: тот же фон, вместо текста — индикатор загрузки, ширина не меняется. Так кнопка не прыгает, а повторное нажатие не создаст второй заказ.

Проверьте: поменяйте скругление в главном компоненте на 24 — все кнопки во всех макетах должны измениться.

Мини-тест: проверьте себя

Закрепите урок: несколько вопросов, разбор ответов — в конце.

  1. В макете 40 одинаковых кнопок, и нужно поменять у всех скругление углов. Как это сделать быстро?

  2. Какое состояние кнопки дизайнер часто забывает, а разработчику оно нужно?

  3. Что такое дизайн-система?