Variants в Figma: как вывести ваши компоненты на новый уровень

Tatiana Cherniavskaia
3 min readDec 21, 2020

--

Пошаговая инструкция перевода существующих компонентов на variants (плюс почему variants — это не страшно и очень удобно)/

Итак, предположим, что у вас есть набор компонентов для кнопки:

Структура и виды компонентов кнопки

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

  • Обычное (default),
  • С наведенным на кнопку курсором мыши (hover),
  • В фокусе (focus),
  • Нажатое состояние (pressed),
  • Недоступное для нажатия (disabled).

Так вот до появления variants нужно было создавать отдельный компонент для каждой комбинации вида и состояния элемента (в нашем случае 15 компонентов — 3 вида и 5 состояний). А для централизованного управления свойствами (например, отступами содержания до края, размерами иконки) в основе каждого компонента лежал исходный базовый компонент (на скриншоте это base), в котором мы скрывали / показывали составные части — пиктограмму и текст.

Посмотрите скришот ниже: слева видим структуру компонента, а справа на панели свойств видим меню “Swap instance” — навигация по компонентам в зависимости от их наименования. Напомню, слэш в названии компонента как бы образует “папку”, и с помощью этого можно создавать вложенность — в нашем случае кнопки называются “тип кнопки/состояние”, например, “second/default” — благодаря этому мы можем быстро менять состояние кнопки в панели свойств справа или в контекстном меню: например, переключить default на hover для все той же кнопки second.

Смена типа и/или состояния кнопки без variants

Но 15 компонентов — это как-то многовато для простой кнопки. Хочется более изящного решения для создания и использования компонентов. И вот Figma предлагает нам превратить кучку компонентов в варианты (variants):

Заветная кнопка “Combine as Variants”

Нажимаем “Combine as Variants” и видим что-то близкое к чуду: вся эта кучка превратилась в один компонент, а внутри него мы можем назвать его свойства (сейчас это Property 1 и Property 2 на панели свойств).

Счастье уже близко: осталось назвать компонент и его свойства

Переименуем сам компонент и его свойства:

  • Property 1 — это тип кнопки = type,
  • Property 2 — это состояние кнопки = state.
Вместо 15 компонентов всего один

И смотрите, как теперь удобно переключаться между разными типами и состояниями кнопки: экземпляр всего один, а внутри можем переключаться по двум свойствам — type и state. Красота!

Теперь выбор компонента и его вариантов разделены

Благодаря вариантам для централизованного управления свойствами компонента больше не нужно создавать базовый объект (в нашем случае это “base” для настройки отступов, размера иконки, управления текстом). То есть не будет вот этой матрешки компонентов: “button/base”, а будет только “button”.

Важный момент: чтобы добавить экземпляр компонента с variants на страницу, нельзя просто скопировать и вставить мастер-компонент — это не сработает (получится новый мастер-компонент). Нужно идти на вкладку Assets и тащить экзмпляр оттуда. А потом можно копировать уже созданные экземпляры прямо на странице.

Полезные ссылки от Figma (их инструкции и Playgrounds очень качественные, рекомендую):

--

--

Tatiana Cherniavskaia

Designer (UX, product), Researcher, Analyst (business, product)