Skip to content

Token types overview

Reference2026-07-27

DAES implements the token types of the DTCG 2025.10 specification. This page is the matrix; each type has its own page with the exact value format, accepted input, and Figma behaviour.

A type is described by three independent capabilities:

  • Author — can you create and edit it in the token dialog?
  • Export — does it round-trip through JSON, sync, and folder export?
  • Apply — can you push its value onto a Figma layer?

A type can export perfectly and still not be applicable, because Figma has no matching property.


Basic types

Type$typeAuthorApplyStatus
ColorcolorFill, stroke, shadow colour, gradient stopStable
DimensiondimensionSize, radius, spacing, border width, type metrics, effectsStable
NumbernumberOpacity, rotation, layout grow, plus all dimension targetsStable
Font familyfontFamilyText node fontPartial
Font weightfontWeightText node font stylePartial
DurationdurationPartial
Cubic BéziercubicBezierPartial
Stroke stylestrokeStyleDash pattern and capPartial

Composite types

Type$typeAuthorApplyStatus
BorderborderStroke paint, weight, dash patternPartial
ShadowshadowDrop and inner shadow effects, multi-layerStable
TypographytypographyFont, size, line height, letter spacing, + Figma extrasStable
TransitiontransitionPartial
GradientgradientPlanned

Import-only types

These three exist so that arbitrary JSON survives a round trip. They cannot be created in the token dialog.

Type$typeAuthorApplyStatus
Text, file, othertext, file, other❌ import onlyText content, hyperlink, plugin dataPartial

Reading the status column

BadgeMeaning
StableWorks end to end as documented
PartialAuthoring and export work, but a documented capability is missing or behaves incorrectly. The type’s page states exactly which
PlannedNot implemented. Values may exist in JSON but nothing in the plugin understands them

Types not implemented

The DTCG specification also defines types that DAES does not model at all: boolean and link have no representation. There is no fontStyle, opacity, or zIndex type — use number for opacity and a typography token for style.


What the type controls

Choosing a type is not cosmetic. It determines:

Input UIEach type gets its own value field — a colour picker, a unit-aware dimension field, a multi-layer shadow builder
ValidationThe value is parsed and checked on submit. Invalid input blocks the save with a message
Storage shapeValues are stored as DTCG objects, not strings — 16px becomes { "value": 16, "unit": "px" }
DisplayThe tile shows a formatted value: hex for colours, CSS box-shadow syntax for shadows
Apply targetsWhich Figma properties the token can be pushed onto

Changing a token’s type after creation re-runs conversion against the new type, so a value that does not fit will be rejected.