Tokens

Effects

Effects group token types: Shadow, Backdrop Blur, Blur, Glass, Effects — verified JSON shapes, layer keys, and production examples.

Overview

Every type in this group exports as a Figma effect style.

$typeValue in one line
shadowOne shadow object or an array of shadow layers
backdrop-blurA blur radius (number/unit) or { "blur": … }
blurA blur radius (number/unit) or { "blur": … }
glassA glass object (light, refraction, depth, …)
effectsA mixed array of shadow + blur layers

Shadow

A single shadow object or an array of layers (each layer is one shadow).

Shadow layer keys:

KeyValues
typedropShadow, innerShadow (Figma DROP_SHADOW / INNER_SHADOW also accepted)
colorColor string or alias
offsetXNumber / unit string (alias x)
offsetYNumber / unit string (alias y)
blurNumber / unit string
spreadNumber / unit string
JSON
{
  "$type": "shadow",
  "$value": [
    { "type": "dropShadow", "offsetX": 0, "offsetY": 1, "blur": 2, "spread": 0, "color": "#0000001F" },
    { "type": "dropShadow", "offsetX": 0, "offsetY": 8, "blur": 24, "spread": 0, "color": "#00000029" }
  ]
}

Backdrop Blur

Blur applied behind the layer. Accepts a number, a unit string, or { "blur": … }.

JSON
{ "$type": "backdrop-blur", "$value": "12px" }
JSON
{ "$type": "backdrop-blur", "$value": { "blur": 12 } }

Blur

Layer blur. Same shapes as backdrop blur.

JSON
{ "$type": "blur", "$value": "4px" }

Glass

A glass / liquid-glass effect object. All keys are optional.

KeyType
visibleboolean
radiusnumber / string
depthnumber / string
refractionnumber / string
dispersionnumber / string
lightAnglenumber / string
lightIntensitynumber / string
JSON
{
  "$type": "glass",
  "$value": { "radius": 12, "depth": 8, "refraction": 0.2, "lightAngle": 135, "lightIntensity": 0.6 }
}

Effects (combined)

A mixed array that can hold both shadow and blur layers in one effect style.

Layer type values: dropShadow, innerShadow, layerBlur, backgroundBlur (Figma DROP_SHADOW / INNER_SHADOW / LAYER_BLUR / BACKGROUND_BLUR are also accepted).

Blur layers use radius; shadow layers use offsetX / offsetY / blur / spread / color.

JSON
{
  "$type": "effects",
  "$value": [
    { "type": "dropShadow", "offsetX": 0, "offsetY": 2, "blur": 8, "spread": 0, "color": "#00000033" },
    { "type": "backgroundBlur", "radius": 12 }
  ]
}

Full example

JSON
{
  "shadow": {
    "$type": "shadow",
    "sm": { "$value": [{ "type": "dropShadow", "offsetX": 0, "offsetY": 1, "blur": 2, "color": "#0000001F" }] },
    "lg": {
      "$value": [
        { "type": "dropShadow", "offsetX": 0, "offsetY": 8, "blur": 24, "spread": 0, "color": "#00000029" }
      ]
    }
  },
  "blur": { "$type": "blur", "card": { "$value": "8px" } },
  "glass": { "$type": "glass", "panel": { "$value": { "radius": 12, "depth": 8, "refraction": 0.2 } } }
}