Tokens

Импорт из Figma

Как превратить переменные и стили текущего файла Figma в JSON-токены: окно Import from Figma, выбор коллекций и групп стилей, типы, режимы Smart, Strict и Generate и куда записываются файлы.

Import variables & styles читает локальные переменные и стили открытого файла Figma и записывает их в JSON-файлы токенов. Это обратный путь к экспорту: так удобно начать с уже существующей библиотеки Figma или подтянуть в JSON правки, сделанные прямо в панели Variables.

Импорт работает только с локальными коллекциями и стилями текущего файла. Переменные из подключённых библиотек он не читает; для переноса значений из другого файла есть Cross-file Sync.

Как импортировать

  1. На вкладке Tokens нажмите Import variables & styles внизу дерева. Откроется окно Import from Figma.
  2. Отметьте коллекции переменных и группы стилей, которые нужно импортировать. Галочка в заголовке секции выбирает или снимает все. Хотя бы одна коллекция или группа должна быть выбрана.
  3. Проверьте типы: переключатели Color, Number, String, Boolean, Timing, Easing для переменных и Typography, Fill, Gradient, Shadow, Blur, Effects, Glass, Grid для стилей.
  4. Выберите режим и параметры, затем нажмите Import. Новые файлы появятся в дереве, config.json обновится.

Окно Import from Figma: коллекции переменных, группы стилей, типы и параметры.

Группа стилей — это первый сегмент имени стиля: стили Brand/Primary и Brand/Secondary попадают в группу Brand.

Режимы

РежимЧто делает
Smart, по умолчаниюИспользует пути из config.json, где они есть, и добавляет недостающие коллекции, режимы и файлы для выбранных данных
StrictПишет только в пути, уже описанные в config.json; неизвестные коллекции и режимы пропускаются с предупреждением. Без валидного config.json режим недоступен
GenerateСтроит структуру коллекций, режимов и файлов заново по выбранным коллекциям Figma и заменяет config.json целиком, включая группы и настройки файлов. Перед импортом плагин попросит подтверждение

Если config.json не читается или не проходит проверку, режимы Smart и Strict останавливают импорт с сообщением об ошибке, ничего не записывая. Исправьте файл или выберите Generate.

Параметры

ПараметрЧто делает
Multi-file layout (greenfield)Для новых путей: несколько файлов на режим или один файл на режим
Overwrite existing token valuesВключено: значения в JSON перезаписываются значениями из Figma. Выключено: добавляются только отсутствующие токены
Preserve variable aliases as {paths}Включено: ссылки между переменными сохраняются как {group.token}. Выключено: записываются вычисленные значения
Map Figma scopes → $extensionsЗаписывает scopes переменных в figma.scopes токенов
Update diff-id.jsonСохраняет связь токенов с переменными файла, чтобы следующий экспорт обновлял их, а не создавал заново. Держите включённым
FLOAT → dimension (not plain number)Числовые переменные становятся токенами dimension, а не number

Куда записываются файлы

  • В режимах Smart и Strict данные попадают в файлы, указанные для коллекции и режима в config.json.
  • Новые пути в режимах Generate и Smart создаются как <коллекция>/<режим>/….
  • Стили без своего маршрута записываются в styles/imported-styles.json.

Что получается в JSON

  • Переменные Color, Number, String и Boolean становятся токенами соответствующих типов; Timing и Easing токенами duration, cubicBezier и easing.
  • Цвет с привязанной переменной прозрачности возвращается как ссылка на цвет с модификатором alpha, ссылающимся на токен прозрачности.
  • Текстовые стили становятся токенами typography, стили заливки fill или gradient, стили сеток grid с полями pattern, count, gutterSize, sectionSize, offset, alignment. Из многослойного стиля заливки импортируется только первый слой.
  • Стили эффектов возвращаются слоями: стиль из одних теней даёт токен shadow, стиль с разными видами эффектов, включая шум, текстуру, стекло и прогрессивное размытие, токен effects. Стиль только из стеклянных слоёв импортируется переключателем Glass, смешанный переключателем Effects. Переменные, привязанные внутри стилей, сохраняются ссылками.
  • Изображения в стилях заливки импортируются токеном img с пустым адресом, который нужно заполнить вручную.
  • Имена переменных превращаются в пути токенов, разделитель / становится вложенностью групп.

Минимальный пример результата:

JSON
{
  "color": {
    "brand": {
      "primary": { "$type": "color", "$value": "#0057ff" }
    }
  },
  "typography": {
    "body": {
      "md": {
        "$type": "typography",
        "$value": { "fontFamily": "Inter", "fontSize": "16px", "lineHeight": "24px" }
      }
    }
  }
}

Если что-то не работает

Что случилосьЧто делать
Кнопка Import неактивнаВыберите хотя бы одну коллекцию или группу стилей и хотя бы один тип
Режим Strict недоступенНет валидного config.json. Выберите Smart или Generate
После импорта экспорт создаёт переменные зановоИмпорт выполнялся с выключенным Update diff-id.json. Повторите импорт с включённым параметром
Импорт заблокирован в Local WorkspaceАктивен режим только для чтения. Переактивируйте профиль или переключитесь на другой источник

См. также