Создание базовой кнопки с автолейаутом и вариантами
Мы уже освоили дизайн-токены для цветов, типографики, отступов и теней. Теперь пора применить их на практике и собрать первые компоненты. Начнём с кнопки — она простая, но очень важная.
Кнопка: автолейаут и переменные
Кнопка отлично покажет мощь автолейаута и переменных. Она должна быть гибкой, чтобы подстраиваться под разный текст, и легко настраиваться с помощью наших дизайн-токенов.
-
Создай основу:
- Нарисуй фрейм (клавиша
F). - Внутри фрейма добавь текст, например, "Нажать".
- Примени к тексту типографическую переменную, скажем,
text/body/medium.
- Нарисуй фрейм (клавиша
-
Примени автолейаут:
- Выдели фрейм с текстом и нажми
Shift + A. - Настрой отступы. Используй переменные:
spacing/mediumдля горизонтальных иspacing/smallдля вертикальных. Это гарантирует единообразие и упростит изменения в будущем. - Убедись, что для текстового слоя установлено
Hug contentsпо горизонтали и вертикали. Так кнопка сама подстроится под размер текста.
- Выдели фрейм с текстом и нажми
-
Примени цветовые переменные:
- Выдели фрейм кнопки.
- В разделе
Fill(Заливка) примени семантическую переменную для фона, например,color/background/primary. - Для текста примени соответствующую переменную, например,
color/text/on-primary. - Добавь переменную для
Border Radius(Скругление углов), например,radius/medium.
Совет: Всегда используй семантические токены (
color/background/primary,color/text/on-primary), а не глобальные цвета (color/brand/blue/500). Это позволит легко менять темы (светлая/тёмная) или брендинг, не затрагивая структуру компонентов.
Компонент и варианты
Базовая кнопка готова. Теперь превратим её в компонент и добавим варианты.
-
Создай компонент:
- Выдели кнопку и нажми
Ctrl + Alt + K(илиCmd + Option + Kна Mac). - Переименуй компонент в
Button.
- Выдели кнопку и нажми
-
Добавь первый вариант:
- Выдели компонент
Button. - На правой панели, в разделе
Properties(Свойства), нажми+рядом сVariants(Варианты). - По умолчанию появится свойство
Property 1со значениемDefault. ПереименуйProperty 1вType, аDefaultвPrimary.
Теперь у тебя есть компонент
Buttonс вариантомType: Primary. - Выдели компонент
Практическое задание
Создай базовую кнопку в Figma. Используй автолейаут и переменные для отступов, цветов и скруглений. Убедись, что кнопка автоматически подстраивается под длину текста. Затем преврати её в компонент с вариантом Type: Primary.
На следующем шаге мы расширим функциональность нашей кнопки, добавив различные состояния (например, при наведении, активное, отключенное) и размеры, используя уже знакомые нам варианты. Это сделает компонент по-настоящему гибким и готовым к использованию в Next.js проектах.