Оптимизируем работу с Figma Variants

Привет! Меня зовут Евгений Шевцов, я руковожу UX-направлением в Usetech и на досуге веду телеграм канал "Мамкин Дизайнер", где рассказываю о жизни дизайнера и о фишечках в Figma.

Мы в компании ценим быстроту и оптимизацию процессов. Когда для продукта необходимо разработать UI Kit в Figma со всеми ее возможностями – работа может превратиться в рутину.

Сегодня расскажу, как с помощью стилей и дублирования компонентов создать 120 вариантов кнопок за минимальное количество времени.

Я не претендую на открытие года, наверняка, вы уже и сами все знаете, просто делюсь своим методом.

Я ожидаю, что вы уже знакомы с функционалом Variants, если нет, то самое время узнать.

Документация и плейграунд:

Если вы не хотите читать и вам проще посмотреть, то держите сразу небольшое видео, а если текстовый формат для вас – ниже подробный разбор.

120 вариантов кнопок в Figma за 15 минут // Figma Variants

Шаг 0. Подготовка

Надеюсь, что вы подготовили цветовые стили для своих макетов и компонентов. Если нет, то сделайте это. Далее с их помощью мы будем красить варианты.

Также выпишите атрибуты кнопки, ее состояния и размеры, которые она будет у вас принимать. Таким образом вы ничего не упустите, а если упустите не беда, добавим позже.

рис. 0
рис. 0

Шаг 1. Создание главного компонента

Если грядет создание большого количества вариантов, то я всегда создаю самый главный компонент, который в последствии я оборачиваю в еще один компонент и создаю из него Variants.

Важно: собирайте компоненты на Auto Layout, чтобы все компоненты были «резиновыми»

рис. 1
рис. 1

Если вы используете Pro план и пользуетесь публикацией библиотек, то я рекомендую в названии главного компонента добавлять точку «.» или нижнее подчеркивание «_». Таким образом мы говорим figma проигнорировать компонент, чтобы в последующем избавиться от дублей.

Шаг 2. Дублирование главного и вложенность в новый компонент

Теперь необходимо сделать дубликат главного компонента и обернуть его еще раз в компонент. Называем компонент как нам необходимо и получаем вложенность.

Такая вложенность позволяет централизованно управлять всеми вариантами, например, если потребуется добавить иконку в кнопку, то добавить ее в главный компонент быстрее и проще, чем добавлять во все варианты.

У нас должно получится так же, как на рис.2

рис. 2
рис. 2

Шаг 3. Создание вариантов

Далее, с компонентом, в который мы вложили .master, необходимо создать варианты. Справа, в панели Variants, тыкаем в «+» и видим, как к компоненту добавился второй вариант, а вложенность слоев должна получится как на рис.3

рис. 3
рис. 3

Делаем 5 дублей кнопок. В слоях раскрываем каждый компонент и отключаем ненужное.

Я отталкивался от атрибутов кнопок, в моем случае это иконки:

  • просто текст
  • текст + иконка слева
  • текст + иконка справа
  • текст + иконки с двух сторон
  • просто иконка

Итого 5 вариантов типа Primary.

Шаг 4. Настройка свойств

Далее, я создаю все свойства кнопок:

  • Тип;
  • Состояние;
  • Размер;
  • Иконка

И по умолчанию выставляю значения этих свойств для только что созданных пяти вариантов кнопок.

У вариантов есть состояния тумблера (on/off, true/false, yes/no) с моим типом кнопок их лучше не использовать на иконках, так как какого-то варианта у нас может не быть, а в последующей настройке вы запутаетесь сами или что-то не будет работать. Поэтому лучше свойства с иконкой делать выпадающим списком.

рис. 4
рис. 4

Шаг 5. База для вариантов

Мы собрали базу, с помощью которой дальше мы будем действовать путем копипасты, замены цвета в инспекторе Selection Colors и настройки свойств Variants.

рис. 5
рис. 5

Создавайте мастер-компонент с максимальным состоянием атрибутов. После того, как он попадет в варианты – просто отключайте содержимое компонента

Шаг 6. Дублирование вариантов

Далее нам надо просто дублировать варианты, добавлять свойства и изменять стили.

Нам необходимо определиться в какую сторону идем, я предлагаю в сторону состояний.

Выделяем пять вариантов, дублируем их, в настройках Variants в поле State добавляем «Hover». Другие свойства нам пока не нужны, они дублируются от первых пяти.

рис. 6
рис. 6

Шаг 7. Управление стилями

Далее, чтобы начать управлять стилями, можем выделить скопированные варианты и управлять панелью Selection Colors, которая находится справа внизу.

рис. 7
рис. 7

Если необходимо управлять стилями более точно, например отдельно покрасить заливку или обводку, то выделите необходимые варианты, нажмите горячую клавишу Enter. В слоях вы провалитесь на следующий уровень во всех вариантах, к инстансу главного компонента.

рис. 8
рис. 8

Шаг 8. Размеры

Окей, со стилями понятно. Дублирование компонентов друг за другом и перекрашивание стилями – работает.

В нашей конфигурации у нас должно выйти 60 вариантов (без учета второго размера кнопки).

рис. 9
рис. 9

Теперь нам необходимо создать размеры. Выделяем все 60 вариантов, дублируем, кладем где-то рядом и нажимаем горячую клавишу Enter, проваливаясь к инстансу нашего главного компонента.

Здесь необходимо манипулировать настройками Auto Layout, просто массово заменить у всех верхний и нижний padding. В моем случае – по 4px с каждой из сторон, чтобы высота кнопки стала 32px. (рис. 10)

рис. 10
рис. 10

Выделяем вновь варианты с измененными размерами и в настройках Variants меняем Size на S – 32px.

рис. 11
рис. 11

Итоги

Все это делается гораздо быстрее, чем читается, а если довести до автоматизма – то не заметите, как будете щелкать такие задачки как орешки.

В следующих обзорах расскажу про сложные компоненты и замену инстансов в Variants.

Если в текстовой версии что-то не понятно – посмотрите видео в самом начале этого поста, там всего 12 минут.

Ну и приходите в тг-канал поболтаем

5454
13 комментариев

Нет вы конечно простите, но это же целых 12 минут надо смотреть видео.
Народ вообще обленился ) 

4
Ответить

Комментарий недоступен

2
Ответить

 120 вариантов кнопок в Figma за 5 минут Видео длиной 12 минут

Напоминает "Выучить %random_skill% за 24 часа"

1
Ответить

ну 12 минут – это просто объяснение, негоже тупо сесть и сделать, все равно необходимо дать какие-то вводные, но по факту, без прелюдий – это собирается быстро

2
Ответить

Есть впечатление, что на чистом css кнопки быстрее делать) 

1
Ответить

все может быть, давайте попробуем)

ну на самом деле все зависит от задачи, если ты работаешь в одно лицо – окей, если у вас дизайн команда и библиотека компонентов, из которой дизайнеры собирают части приложения – заверстать не вариант

2
Ответить

Годно, спасибо! Подписался, схоронил

1
Ответить