Типы токенов
Карта всех 39 типов токенов SXL Studio: как они сгруппированы в меню создания, во что каждый превращается в Figma, какой тумблер экспорта за него отвечает, форма значения и алиасы.
SXL Studio поддерживает 39 типов токенов. Тип задаётся полем $type; при экспорте токен становится переменной Figma, стилем Figma или остаётся внутренним: такие токены участвуют в Apply, генерации композиций и коде, но сами в Figma не экспортируются.
| Цель экспорта | Типов | Во что превращается |
|---|---|---|
| Переменная Figma | 20 | Переменная в коллекции: Color, Number, String, Boolean, Timing или Easing |
| Стиль Figma | 10 | Локальный стиль: Paint, Effect, Text или Grid |
| Внутренний | 9 | Используется плагином и кодом, в Figma не попадает |
Выбирайте тип по тому, что хотите получить в Figma: переиспользуемую переменную для цветов, размеров, строк и флагов, общий стиль для градиентов, теней, типографики и сеток, или внутренний контракт для рамок, переходов, композиций и произвольных данных.
Как создать токен
В визуальном редакторе файла над списком токенов есть панель типов: Color, Gradient, Images, Fill, Opacity, Dimension и кнопка + со всеми остальными типами. Меню + сгруппировано в семь разделов и имеет поиск по типу.

Меню Add token: группы Styles, Dimension, Borders и начало Effects.

Группы Effects и Typography.

Группы Animation и Other.
Каждый тип открывает свою форму: имя, значение с подсказкой формата, описание, а для переменных ещё scopes, code syntax и флаг Hide from publishing. Подробности по каждой группе на её странице.
Цели экспорта
| Цель | Типы |
|---|---|
| Переменная Color | color |
| Переменная Number | opacity, dimension, number, spacing, sizing, borderWidth, borderRadius, fontSize, lineHeight, letterSpacing, paragraphIndent, paragraphSpacing |
| Переменная String | fontFamily, fontWeight, text |
| Переменная Boolean | boolean |
| Переменная Timing | duration |
| Переменная Easing | cubicBezier, easing |
| Стиль Paint | gradient, img, fill |
| Стиль Effect | shadow, backdrop-blur, blur, glass, effects |
| Стиль Text | typography |
| Стиль Grid | grid |
| Внутренние | border, strokeStyle, fontStyle, textCase, textDecoration, transition, template, composition, custom |
Какой тумблер экспорта отвечает за тип
В окне Export to Figma типы включаются группами. Если тип не экспортируется, проверьте соответствующий переключатель.
| Переключатель | Типы |
|---|---|
| Variables → Color | color |
| Variables → Number | все типы переменных Number из таблицы выше |
| Variables → String | fontFamily, fontWeight, text |
| Variables → Boolean | boolean |
| Variables → Timing | duration |
| Variables → Easing | cubicBezier, easing |
| Styles → Typography | typography |
| Styles → Shadow | shadow |
| Styles → Blur | blur, backdrop-blur |
| Styles → Effects | effects |
| Styles → Glass | glass |
| Styles → Fill | fill, img |
| Styles → Gradient | gradient |
| Styles → Grid | grid |
Типы по группам
Семь групп меню Add token. В каждой строке минимальный пример $value.
Styles
$type | Экспортируется как | Пример $value |
|---|---|---|
color | Переменная Color | "#635BFF" |
gradient | Стиль Paint | "linear-gradient(90deg, #635BFF, #A78BFA)" |
img | Стиль Paint | "url(https://…/cover.png)" |
fill | Стиль Paint | [{ "type": "solid", "color": "#635BFF" }] |
opacity | Переменная Number | 0.6 или "60%" |
Dimension
$type | Экспортируется как | Пример $value |
|---|---|---|
dimension | Переменная Number | "16px" |
number | Переменная Number | 8 |
spacing | Переменная Number | "16px" |
sizing | Переменная Number | "240px" |
Borders
$type | Экспортируется как | Пример $value |
|---|---|---|
border | Внутренний | { "color": "#E7EAF1", "width": "1px", "style": "solid" } |
borderWidth | Переменная Number | "1px" |
borderRadius | Переменная Number | "8px" |
strokeStyle | Внутренний | { "style": "dashed", "dash": 4, "gap": 4 } |
Effects
$type | Экспортируется как | Пример $value |
|---|---|---|
shadow | Стиль Effect | [{ "offsetX": 0, "offsetY": 2, "blur": 8, "color": "#00000033" }] |
backdrop-blur | Стиль Effect | "8px" |
blur | Стиль Effect | "4px" |
glass | Стиль Effect | { "lightIntensity": 0.3, "refraction": 0.2, "depth": 12, "radius": 8 } |
effects | Стиль Effect | [{ "type": "DROP_SHADOW", "offsetX": 0, "offsetY": 2, "blur": 8, "color": "#00000033" }] |
Typography
$type | Экспортируется как | Пример $value |
|---|---|---|
typography | Стиль Text | { "fontFamily": "Inter", "fontSize": "16px", "fontWeight": 500, "lineHeight": 1.5 } |
fontFamily | Переменная String | "Inter" |
fontWeight | Переменная String | 500 или "Semi Bold" |
fontSize | Переменная Number | "16px" |
lineHeight | Переменная Number | "24px" |
letterSpacing | Переменная Number | "0.5px" |
paragraphIndent | Переменная Number | "8px" |
paragraphSpacing | Переменная Number | "12px" |
textCase | Внутренний | "uppercase" |
textDecoration | Внутренний | "underline" |
fontStyle | Внутренний | "italic". В меню создания временно скрыт, в JSON поддерживается |
Animation
$type | Экспортируется как | Пример $value |
|---|---|---|
transition | Внутренний | { "duration": "200ms", "delay": "0ms", "easing": "ease-out" } |
duration | Переменная Timing | "200ms" |
cubicBezier | Переменная Easing | [0.4, 0, 0.2, 1] |
easing | Переменная Easing | "ease-out", "spring(0.3)" |
Other
$type | Экспортируется как | Пример $value |
|---|---|---|
grid | Стиль Grid | { "pattern": "grid", "sectionSize": 8 } |
boolean | Переменная Boolean | true |
text | Переменная String | "Checkout" |
template | Внутренний | объект с описанием стилей шаблона |
composition | Внутренний | объект с описанием компонента |
custom | Внутренний или по форме значения | любой JSON |
Токен custom, как и любой незнакомый $type, остаётся редактируемым. При экспорте плагин смотрит на форму значения: цвет в HEX становится переменной Color, число или математика переменной Number, true/false переменной Boolean, строка переменной String, а объект, похожий на типографику, тень, градиент или сетку, соответствующим стилем. Значение, которое ни на что не похоже, остаётся в JSON и в Figma не экспортируется; плагин сообщит об этом в результате экспорта.
Примеры составных значений
Typography:
{
"$type": "typography",
"$value": { "fontFamily": "Inter", "fontSize": "16px", "fontWeight": 500, "lineHeight": 1.5, "letterSpacing": "0px" }
}
Shadow, несколько слоёв:
{
"$type": "shadow",
"$value": [
{ "offsetX": 0, "offsetY": 1, "blur": 2, "spread": 0, "color": "#0000001F" },
{ "offsetX": 0, "offsetY": 8, "blur": 24, "spread": 0, "color": "#00000029" }
]
}
Gradient:
{ "$type": "gradient", "$value": "linear-gradient(135deg, #635BFF 0%, #A78BFA 100%)" }
Grid:
{ "$type": "grid", "$value": { "pattern": "grid", "sectionSize": 8 } }
Fill, несколько слоёв:
{
"$type": "fill",
"$value": [
{ "type": "image", "url": "https://…/photo.jpg", "scaleMode": "FILL", "opacity": 0.7 },
{ "type": "solid", "color": "#00000029" }
]
}
Scopes по умолчанию
Переменные получают scope Figma по умолчанию, его можно изменить в форме токена или через figma.scopes. Типы-переменные, которых нет в таблице, получают все scopes. У boolean, duration, cubicBezier и easing scopes нет вовсе.
$type | Scope по умолчанию |
|---|---|
color | All fills, Stroke color, Effect color |
sizing | Width and height |
spacing | Gap |
borderRadius | Corner radius |
borderWidth | Stroke width |
opacity | Opacity |
fontFamily | Font family |
fontWeight | Font style. Другие scopes для этого типа недопустимы |
fontSize | Font size |
lineHeight | Line height |
letterSpacing | Letter spacing |
paragraphSpacing | Paragraph spacing |
paragraphIndent | Paragraph indent |
dimension, number, text | Все scopes |
boolean, duration, cubicBezier, easing | Scopes не поддерживаются |
Подробнее: Scopes и Code Syntax.
Наследование и алиасы типов
Группа может объявить $type один раз, все токены внутри его наследуют:
{
"spacing": {
"$type": "spacing",
"sm": { "$value": "8px" },
"md": { "$value": "16px" }
}
}
Старые и альтернативные имена типов приводятся к каноническим:
| В файле | Канонический тип |
|---|---|
string | text |
size | sizing |
space | spacing |
fontSizes, fontWeights, fontStyles и другие формы множественного числа | fontSize, fontWeight, fontStyle |
borderRadii | borderRadius |
boxShadow | shadow |
backgroundBlur, backdropBlur, background-blur | backdrop-blur |
layerBlur | blur |
motionEasing | easing |
В рабочих файлах используйте канонические имена. Полная таблица на странице JSON-формат токенов.