From d3ab3c1b906d8459c48c7fe5573636b7203a0310 Mon Sep 17 00:00:00 2001 From: Andrew Duthie Date: Wed, 10 Dec 2025 16:54:14 -0500 Subject: [PATCH 01/11] Theme: Include Figma scopes extension in color tokens --- packages/theme/tokens/color.json | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/theme/tokens/color.json b/packages/theme/tokens/color.json index 5f399518fa958f..5cd91e5d5655b8 100644 --- a/packages/theme/tokens/color.json +++ b/packages/theme/tokens/color.json @@ -1319,6 +1319,9 @@ "$value": "{wpds-color.primitive.bg.stroke2}", "$description": "Background color for thumbs with a brand tone and normal emphasis (eg. slider thumb and filled track), in their disabled state." } + }, + "$extensions": { + "com.figma.scopes": [ "FRAME_FILL", "SHAPE_FILL" ] } }, "fg": { @@ -1453,6 +1456,9 @@ "$value": "{wpds-color.primitive.bg.fgSurface3}", "$description": "Foreground color for interactive elements with error tone and strong emphasis, in their disabled state." } + }, + "$extensions": { + "com.figma.scopes": [ "TEXT_FILL", "SHAPE_FILL" ] } }, "stroke": { @@ -1553,6 +1559,9 @@ "$value": "{wpds-color.primitive.primary.stroke3}", "$description": "Accessible stroke color applied to focus rings." } + }, + "$extensions": { + "com.figma.scopes": [ "STROKE_COLOR", "EFFECT_COLOR" ] } } } From 1601cdf5af80701858fb3351f26d95647501d4af Mon Sep 17 00:00:00 2001 From: Andrew Duthie Date: Thu, 11 Dec 2025 12:41:12 -0500 Subject: [PATCH 02/11] Add scopes for border and dimension tokens --- packages/theme/tokens/border.json | 6 ++++++ packages/theme/tokens/dimension.json | 3 +++ 2 files changed, 9 insertions(+) diff --git a/packages/theme/tokens/border.json b/packages/theme/tokens/border.json index 77b8d1ca4e8e36..12594c1e19f37f 100644 --- a/packages/theme/tokens/border.json +++ b/packages/theme/tokens/border.json @@ -19,6 +19,9 @@ "$value": { "value": 8, "unit": "px" }, "$description": "Large radius for surfaces" } + }, + "$extensions": { + "com.figma.scopes": [ "CORNER_RADIUS" ] } }, "width": { @@ -50,6 +53,9 @@ } } } + }, + "$extensions": { + "com.figma.scopes": [ "STROKE_FLOAT" ] } } } diff --git a/packages/theme/tokens/dimension.json b/packages/theme/tokens/dimension.json index 19466db13636ae..b0dec914cc26a5 100644 --- a/packages/theme/tokens/dimension.json +++ b/packages/theme/tokens/dimension.json @@ -163,6 +163,9 @@ "comfortable": "{wpds-dimension.primitive.space.90}" } } + }, + "$extensions": { + "com.figma.scopes": [ "GAP" ] } } } From da6eb25514125e94d16b6cf9408fe523296c1727 Mon Sep 17 00:00:00 2001 From: Andrew Duthie Date: Thu, 18 Dec 2025 15:09:42 -0500 Subject: [PATCH 03/11] Add scopes for typography tokens --- packages/theme/tokens/typography.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/theme/tokens/typography.json b/packages/theme/tokens/typography.json index 7713e02a7b7232..e8b5954952477c 100644 --- a/packages/theme/tokens/typography.json +++ b/packages/theme/tokens/typography.json @@ -60,6 +60,9 @@ "2xl": { "$value": { "value": 32, "unit": "px" }, "$description": "2X large font size" + }, + "$extensions": { + "com.figma.scopes": [ "FONT_SIZE" ] } }, "line-height": { @@ -87,6 +90,9 @@ "2xl": { "$value": { "value": 40, "unit": "px" }, "$description": "2X large line height" + }, + "$extensions": { + "com.figma.scopes": [ "LINE_HEIGHT" ] } }, "weight": { From 90cf2e9de5d06c1f4680994690038419c593a0cd Mon Sep 17 00:00:00 2001 From: James Koster Date: Fri, 19 Dec 2025 10:12:09 +0000 Subject: [PATCH 04/11] per-token scoping --- packages/theme/tokens/dimension.json | 36 +++++++++++++++++----------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/packages/theme/tokens/dimension.json b/packages/theme/tokens/dimension.json index b0dec914cc26a5..22ebcf3e93e0c7 100644 --- a/packages/theme/tokens/dimension.json +++ b/packages/theme/tokens/dimension.json @@ -58,7 +58,8 @@ "mode": { "compact": "{wpds-dimension.primitive.space.10}", "comfortable": "{wpds-dimension.primitive.space.20}" - } + }, + "com.figma.scopes": [ "GAP" ] } }, "xs": { @@ -68,7 +69,8 @@ "mode": { "compact": "{wpds-dimension.primitive.space.10}", "comfortable": "{wpds-dimension.primitive.space.30}" - } + }, + "com.figma.scopes": [ "GAP" ] } }, "sm": { @@ -78,7 +80,8 @@ "mode": { "compact": "{wpds-dimension.primitive.space.30}", "comfortable": "{wpds-dimension.primitive.space.50}" - } + }, + "com.figma.scopes": [ "GAP" ] } }, "md": { @@ -88,7 +91,8 @@ "mode": { "compact": "{wpds-dimension.primitive.space.50}", "comfortable": "{wpds-dimension.primitive.space.70}" - } + }, + "com.figma.scopes": [ "GAP" ] } }, "lg": { @@ -98,7 +102,8 @@ "mode": { "compact": "{wpds-dimension.primitive.space.60}", "comfortable": "{wpds-dimension.primitive.space.80}" - } + }, + "com.figma.scopes": [ "GAP" ] } } } @@ -111,7 +116,8 @@ "mode": { "compact": "{wpds-dimension.primitive.space.10}", "comfortable": "{wpds-dimension.primitive.space.20}" - } + }, + "com.figma.scopes": [ "GAP" ] } }, "xs": { @@ -121,7 +127,8 @@ "mode": { "compact": "{wpds-dimension.primitive.space.10}", "comfortable": "{wpds-dimension.primitive.space.30}" - } + }, + "com.figma.scopes": [ "GAP" ] } }, "sm": { @@ -131,7 +138,8 @@ "mode": { "compact": "{wpds-dimension.primitive.space.20}", "comfortable": "{wpds-dimension.primitive.space.40}" - } + }, + "com.figma.scopes": [ "GAP" ] } }, "md": { @@ -141,7 +149,8 @@ "mode": { "compact": "{wpds-dimension.primitive.space.30}", "comfortable": "{wpds-dimension.primitive.space.50}" - } + }, + "com.figma.scopes": [ "GAP" ] } }, "lg": { @@ -151,7 +160,8 @@ "mode": { "compact": "{wpds-dimension.primitive.space.50}", "comfortable": "{wpds-dimension.primitive.space.70}" - } + }, + "com.figma.scopes": [ "GAP" ] } }, "xl": { @@ -161,11 +171,9 @@ "mode": { "compact": "{wpds-dimension.primitive.space.70}", "comfortable": "{wpds-dimension.primitive.space.90}" - } + }, + "com.figma.scopes": [ "GAP" ] } - }, - "$extensions": { - "com.figma.scopes": [ "GAP" ] } } } From 1cf4cf46e4694a61f48656235316728a3ae3cd8f Mon Sep 17 00:00:00 2001 From: James Koster Date: Fri, 19 Dec 2025 10:24:03 +0000 Subject: [PATCH 05/11] stroke scopes --- packages/theme/tokens/color.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/theme/tokens/color.json b/packages/theme/tokens/color.json index 5cd91e5d5655b8..6ecc577fb4eefc 100644 --- a/packages/theme/tokens/color.json +++ b/packages/theme/tokens/color.json @@ -1561,7 +1561,7 @@ } }, "$extensions": { - "com.figma.scopes": [ "STROKE_COLOR", "EFFECT_COLOR" ] + "com.figma.scopes": [ "STROKE" ] } } } From 7e77a2c9587be74cca8f4f623d7a3ac8471ad60a Mon Sep 17 00:00:00 2001 From: James Koster Date: Fri, 19 Dec 2025 10:28:26 +0000 Subject: [PATCH 06/11] border token scoping --- packages/theme/tokens/border.json | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/packages/theme/tokens/border.json b/packages/theme/tokens/border.json index 12594c1e19f37f..60634fd8cf2e6d 100644 --- a/packages/theme/tokens/border.json +++ b/packages/theme/tokens/border.json @@ -28,19 +28,31 @@ "surface": { "xs": { "$value": { "value": 1, "unit": "px" }, - "$description": "Extra small width for surfaces" + "$description": "Extra small width for surfaces", + "$extensions": { + "com.figma.scopes": [ "STROKE_FLOAT" ] + } }, "sm": { "$value": { "value": 2, "unit": "px" }, - "$description": "Small width for surfaces" + "$description": "Small width for surfaces", + "$extensions": { + "com.figma.scopes": [ "STROKE_FLOAT" ] + } }, "md": { "$value": { "value": 4, "unit": "px" }, - "$description": "Medium width for surfaces" + "$description": "Medium width for surfaces", + "$extensions": { + "com.figma.scopes": [ "STROKE_FLOAT" ] + } }, "lg": { "$value": { "value": 8, "unit": "px" }, - "$description": "Large width for surfaces" + "$description": "Large width for surfaces", + "$extensions": { + "com.figma.scopes": [ "STROKE_FLOAT" ] + } } }, "interactive": { @@ -50,12 +62,10 @@ "$extensions": { "mode": { "high-dpi": { "value": 1.5, "unit": "px" } - } + }, + "com.figma.scopes": [ "STROKE_FLOAT" ] } } - }, - "$extensions": { - "com.figma.scopes": [ "STROKE_FLOAT" ] } } } From 1c93b11d9ff7473f31b28dbab8d29b63ba2d8db8 Mon Sep 17 00:00:00 2001 From: James Koster Date: Fri, 19 Dec 2025 10:34:32 +0000 Subject: [PATCH 07/11] mode scoping --- .../theme/tokens/modes/border.high-dpi.json | 3 + .../tokens/modes/dimension.comfortable.json | 55 +++++++++++++++---- .../theme/tokens/modes/dimension.compact.json | 55 +++++++++++++++---- 3 files changed, 91 insertions(+), 22 deletions(-) diff --git a/packages/theme/tokens/modes/border.high-dpi.json b/packages/theme/tokens/modes/border.high-dpi.json index fafbac21ded55b..5bd52197e89c00 100644 --- a/packages/theme/tokens/modes/border.high-dpi.json +++ b/packages/theme/tokens/modes/border.high-dpi.json @@ -7,6 +7,9 @@ "$value": { "value": 1.5, "unit": "px" + }, + "$extensions": { + "com.figma.scopes": [ "STROKE_FLOAT" ] } } } diff --git a/packages/theme/tokens/modes/dimension.comfortable.json b/packages/theme/tokens/modes/dimension.comfortable.json index 7bf25e48b0ee82..ca7ff14641a282 100644 --- a/packages/theme/tokens/modes/dimension.comfortable.json +++ b/packages/theme/tokens/modes/dimension.comfortable.json @@ -4,50 +4,83 @@ "surface": { "2xs": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.20}" + "$value": "{wpds-dimension.primitive.space.20}", + "$extensions": { + "com.figma.scopes": [ "GAP" ] + } }, "xs": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.30}" + "$value": "{wpds-dimension.primitive.space.30}", + "$extensions": { + "com.figma.scopes": [ "GAP" ] + } }, "sm": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.50}" + "$value": "{wpds-dimension.primitive.space.50}", + "$extensions": { + "com.figma.scopes": [ "GAP" ] + } }, "md": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.70}" + "$value": "{wpds-dimension.primitive.space.70}", + "$extensions": { + "com.figma.scopes": [ "GAP" ] + } }, "lg": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.80}" + "$value": "{wpds-dimension.primitive.space.80}", + "$extensions": { + "com.figma.scopes": [ "GAP" ] + } } } }, "gap": { "2xs": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.20}" + "$value": "{wpds-dimension.primitive.space.20}", + "$extensions": { + "com.figma.scopes": [ "GAP" ] + } }, "xs": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.30}" + "$value": "{wpds-dimension.primitive.space.30}", + "$extensions": { + "com.figma.scopes": [ "GAP" ] + } }, "sm": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.40}" + "$value": "{wpds-dimension.primitive.space.40}", + "$extensions": { + "com.figma.scopes": [ "GAP" ] + } }, "md": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.50}" + "$value": "{wpds-dimension.primitive.space.50}", + "$extensions": { + "com.figma.scopes": [ "GAP" ] + } }, "lg": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.70}" + "$value": "{wpds-dimension.primitive.space.70}", + "$extensions": { + "com.figma.scopes": [ "GAP" ] + } }, "xl": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.90}" + "$value": "{wpds-dimension.primitive.space.90}", + "$extensions": { + "com.figma.scopes": [ "GAP" ] + } } } } diff --git a/packages/theme/tokens/modes/dimension.compact.json b/packages/theme/tokens/modes/dimension.compact.json index e46a61b8c43198..82a0856df053c0 100644 --- a/packages/theme/tokens/modes/dimension.compact.json +++ b/packages/theme/tokens/modes/dimension.compact.json @@ -4,50 +4,83 @@ "surface": { "2xs": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.10}" + "$value": "{wpds-dimension.primitive.space.10}", + "$extensions": { + "com.figma.scopes": [ "GAP" ] + } }, "xs": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.10}" + "$value": "{wpds-dimension.primitive.space.10}", + "$extensions": { + "com.figma.scopes": [ "GAP" ] + } }, "sm": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.30}" + "$value": "{wpds-dimension.primitive.space.30}", + "$extensions": { + "com.figma.scopes": [ "GAP" ] + } }, "md": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.50}" + "$value": "{wpds-dimension.primitive.space.50}", + "$extensions": { + "com.figma.scopes": [ "GAP" ] + } }, "lg": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.60}" + "$value": "{wpds-dimension.primitive.space.60}", + "$extensions": { + "com.figma.scopes": [ "GAP" ] + } } } }, "gap": { "2xs": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.10}" + "$value": "{wpds-dimension.primitive.space.10}", + "$extensions": { + "com.figma.scopes": [ "GAP" ] + } }, "xs": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.10}" + "$value": "{wpds-dimension.primitive.space.10}", + "$extensions": { + "com.figma.scopes": [ "GAP" ] + } }, "sm": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.20}" + "$value": "{wpds-dimension.primitive.space.20}", + "$extensions": { + "com.figma.scopes": [ "GAP" ] + } }, "md": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.30}" + "$value": "{wpds-dimension.primitive.space.30}", + "$extensions": { + "com.figma.scopes": [ "GAP" ] + } }, "lg": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.50}" + "$value": "{wpds-dimension.primitive.space.50}", + "$extensions": { + "com.figma.scopes": [ "GAP" ] + } }, "xl": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.70}" + "$value": "{wpds-dimension.primitive.space.70}", + "$extensions": { + "com.figma.scopes": [ "GAP" ] + } } } } From 62d41d8abbe732a9f8d2831830200426691ff8c4 Mon Sep 17 00:00:00 2001 From: James Koster Date: Fri, 19 Dec 2025 10:40:29 +0000 Subject: [PATCH 08/11] Preserve scopes for mode tokens --- .../terrazzo-plugin-mode-overrides/index.ts | 41 ++++++++++++++++++- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/packages/theme/bin/terrazzo-plugin-mode-overrides/index.ts b/packages/theme/bin/terrazzo-plugin-mode-overrides/index.ts index 27b83c9c0f5494..aa1d2a76eb2a60 100644 --- a/packages/theme/bin/terrazzo-plugin-mode-overrides/index.ts +++ b/packages/theme/bin/terrazzo-plugin-mode-overrides/index.ts @@ -46,6 +46,7 @@ interface ModeOverride { path: string[]; $value: DTCGValue; $type?: string; + $extensions?: Omit< DTCGExtensions, 'mode' >; } /** @@ -85,6 +86,29 @@ function setNestedValue( current[ pathParts[ pathParts.length - 1 ] ] = value; } +/** + * Copies extensions from a token, excluding the 'mode' extension. + * + * @param extensions - The extensions object to copy. + * @return A new extensions object without the 'mode' key. + */ +function copyExtensionsWithoutMode( + extensions?: DTCGExtensions +): Omit< DTCGExtensions, 'mode' > | undefined { + if ( ! extensions ) { + return undefined; + } + + const { mode, ...otherExtensions } = extensions; + + // Only return if there are other extensions besides mode + if ( Object.keys( otherExtensions ).length === 0 ) { + return undefined; + } + + return otherExtensions; +} + /** * Recursively extracts mode overrides from a DTCG token tree. * @@ -115,6 +139,11 @@ function getModeOverrides( // Extract mode-specific values from extensions const modes = node.$extensions?.mode; if ( modes ) { + // Preserve other extensions (like com.figma.scopes) but exclude mode + const preservedExtensions = copyExtensionsWithoutMode( + node.$extensions + ); + for ( const [ mode, modeValue ] of Object.entries( modes ) ) { modeOverrides.set( mode, [ ...( modeOverrides.get( mode ) ?? [] ), @@ -122,6 +151,7 @@ function getModeOverrides( path: [ ...currentPath, key ], $value: modeValue, $type: node.$type ?? groupType, + $extensions: preservedExtensions, }, ] ); } @@ -183,8 +213,15 @@ export default function pluginModeOverrides(): Plugin { const output: Record< string, unknown > = {}; for ( const override of overrides ) { - const { path, $value, $type } = override; - setNestedValue( output, path, { $type, $value } ); + const { path, $value, $type, $extensions } = override; + const token: Record< string, unknown > = { + $type, + $value, + }; + if ( $extensions ) { + token.$extensions = $extensions; + } + setNestedValue( output, path, token ); } // Output as {basename}.{mode}.json (e.g., dimension.compact.json) From dd6b3fc905b183ae61cfe6cbead2d48dbbc037a4 Mon Sep 17 00:00:00 2001 From: James Koster Date: Fri, 19 Dec 2025 19:49:17 +0000 Subject: [PATCH 09/11] Revert "Preserve scopes for mode tokens" This reverts commit 2cae2ff827e5808c9e7148db375114ac5a164187. --- .../terrazzo-plugin-mode-overrides/index.ts | 41 +------------------ 1 file changed, 2 insertions(+), 39 deletions(-) diff --git a/packages/theme/bin/terrazzo-plugin-mode-overrides/index.ts b/packages/theme/bin/terrazzo-plugin-mode-overrides/index.ts index aa1d2a76eb2a60..27b83c9c0f5494 100644 --- a/packages/theme/bin/terrazzo-plugin-mode-overrides/index.ts +++ b/packages/theme/bin/terrazzo-plugin-mode-overrides/index.ts @@ -46,7 +46,6 @@ interface ModeOverride { path: string[]; $value: DTCGValue; $type?: string; - $extensions?: Omit< DTCGExtensions, 'mode' >; } /** @@ -86,29 +85,6 @@ function setNestedValue( current[ pathParts[ pathParts.length - 1 ] ] = value; } -/** - * Copies extensions from a token, excluding the 'mode' extension. - * - * @param extensions - The extensions object to copy. - * @return A new extensions object without the 'mode' key. - */ -function copyExtensionsWithoutMode( - extensions?: DTCGExtensions -): Omit< DTCGExtensions, 'mode' > | undefined { - if ( ! extensions ) { - return undefined; - } - - const { mode, ...otherExtensions } = extensions; - - // Only return if there are other extensions besides mode - if ( Object.keys( otherExtensions ).length === 0 ) { - return undefined; - } - - return otherExtensions; -} - /** * Recursively extracts mode overrides from a DTCG token tree. * @@ -139,11 +115,6 @@ function getModeOverrides( // Extract mode-specific values from extensions const modes = node.$extensions?.mode; if ( modes ) { - // Preserve other extensions (like com.figma.scopes) but exclude mode - const preservedExtensions = copyExtensionsWithoutMode( - node.$extensions - ); - for ( const [ mode, modeValue ] of Object.entries( modes ) ) { modeOverrides.set( mode, [ ...( modeOverrides.get( mode ) ?? [] ), @@ -151,7 +122,6 @@ function getModeOverrides( path: [ ...currentPath, key ], $value: modeValue, $type: node.$type ?? groupType, - $extensions: preservedExtensions, }, ] ); } @@ -213,15 +183,8 @@ export default function pluginModeOverrides(): Plugin { const output: Record< string, unknown > = {}; for ( const override of overrides ) { - const { path, $value, $type, $extensions } = override; - const token: Record< string, unknown > = { - $type, - $value, - }; - if ( $extensions ) { - token.$extensions = $extensions; - } - setNestedValue( output, path, token ); + const { path, $value, $type } = override; + setNestedValue( output, path, { $type, $value } ); } // Output as {basename}.{mode}.json (e.g., dimension.compact.json) From f741f72c205a75ea7097c0dd575426419c811fe2 Mon Sep 17 00:00:00 2001 From: James Koster Date: Fri, 19 Dec 2025 19:53:21 +0000 Subject: [PATCH 10/11] Rebuild tokens --- .../theme/tokens/modes/border.high-dpi.json | 3 - .../tokens/modes/dimension.comfortable.json | 55 ++++--------------- .../theme/tokens/modes/dimension.compact.json | 55 ++++--------------- 3 files changed, 22 insertions(+), 91 deletions(-) diff --git a/packages/theme/tokens/modes/border.high-dpi.json b/packages/theme/tokens/modes/border.high-dpi.json index 5bd52197e89c00..fafbac21ded55b 100644 --- a/packages/theme/tokens/modes/border.high-dpi.json +++ b/packages/theme/tokens/modes/border.high-dpi.json @@ -7,9 +7,6 @@ "$value": { "value": 1.5, "unit": "px" - }, - "$extensions": { - "com.figma.scopes": [ "STROKE_FLOAT" ] } } } diff --git a/packages/theme/tokens/modes/dimension.comfortable.json b/packages/theme/tokens/modes/dimension.comfortable.json index ca7ff14641a282..7bf25e48b0ee82 100644 --- a/packages/theme/tokens/modes/dimension.comfortable.json +++ b/packages/theme/tokens/modes/dimension.comfortable.json @@ -4,83 +4,50 @@ "surface": { "2xs": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.20}", - "$extensions": { - "com.figma.scopes": [ "GAP" ] - } + "$value": "{wpds-dimension.primitive.space.20}" }, "xs": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.30}", - "$extensions": { - "com.figma.scopes": [ "GAP" ] - } + "$value": "{wpds-dimension.primitive.space.30}" }, "sm": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.50}", - "$extensions": { - "com.figma.scopes": [ "GAP" ] - } + "$value": "{wpds-dimension.primitive.space.50}" }, "md": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.70}", - "$extensions": { - "com.figma.scopes": [ "GAP" ] - } + "$value": "{wpds-dimension.primitive.space.70}" }, "lg": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.80}", - "$extensions": { - "com.figma.scopes": [ "GAP" ] - } + "$value": "{wpds-dimension.primitive.space.80}" } } }, "gap": { "2xs": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.20}", - "$extensions": { - "com.figma.scopes": [ "GAP" ] - } + "$value": "{wpds-dimension.primitive.space.20}" }, "xs": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.30}", - "$extensions": { - "com.figma.scopes": [ "GAP" ] - } + "$value": "{wpds-dimension.primitive.space.30}" }, "sm": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.40}", - "$extensions": { - "com.figma.scopes": [ "GAP" ] - } + "$value": "{wpds-dimension.primitive.space.40}" }, "md": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.50}", - "$extensions": { - "com.figma.scopes": [ "GAP" ] - } + "$value": "{wpds-dimension.primitive.space.50}" }, "lg": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.70}", - "$extensions": { - "com.figma.scopes": [ "GAP" ] - } + "$value": "{wpds-dimension.primitive.space.70}" }, "xl": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.90}", - "$extensions": { - "com.figma.scopes": [ "GAP" ] - } + "$value": "{wpds-dimension.primitive.space.90}" } } } diff --git a/packages/theme/tokens/modes/dimension.compact.json b/packages/theme/tokens/modes/dimension.compact.json index 82a0856df053c0..e46a61b8c43198 100644 --- a/packages/theme/tokens/modes/dimension.compact.json +++ b/packages/theme/tokens/modes/dimension.compact.json @@ -4,83 +4,50 @@ "surface": { "2xs": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.10}", - "$extensions": { - "com.figma.scopes": [ "GAP" ] - } + "$value": "{wpds-dimension.primitive.space.10}" }, "xs": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.10}", - "$extensions": { - "com.figma.scopes": [ "GAP" ] - } + "$value": "{wpds-dimension.primitive.space.10}" }, "sm": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.30}", - "$extensions": { - "com.figma.scopes": [ "GAP" ] - } + "$value": "{wpds-dimension.primitive.space.30}" }, "md": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.50}", - "$extensions": { - "com.figma.scopes": [ "GAP" ] - } + "$value": "{wpds-dimension.primitive.space.50}" }, "lg": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.60}", - "$extensions": { - "com.figma.scopes": [ "GAP" ] - } + "$value": "{wpds-dimension.primitive.space.60}" } } }, "gap": { "2xs": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.10}", - "$extensions": { - "com.figma.scopes": [ "GAP" ] - } + "$value": "{wpds-dimension.primitive.space.10}" }, "xs": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.10}", - "$extensions": { - "com.figma.scopes": [ "GAP" ] - } + "$value": "{wpds-dimension.primitive.space.10}" }, "sm": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.20}", - "$extensions": { - "com.figma.scopes": [ "GAP" ] - } + "$value": "{wpds-dimension.primitive.space.20}" }, "md": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.30}", - "$extensions": { - "com.figma.scopes": [ "GAP" ] - } + "$value": "{wpds-dimension.primitive.space.30}" }, "lg": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.50}", - "$extensions": { - "com.figma.scopes": [ "GAP" ] - } + "$value": "{wpds-dimension.primitive.space.50}" }, "xl": { "$type": "dimension", - "$value": "{wpds-dimension.primitive.space.70}", - "$extensions": { - "com.figma.scopes": [ "GAP" ] - } + "$value": "{wpds-dimension.primitive.space.70}" } } } From c620a4a45bced8d473246a4f3f09e15f966c52fe Mon Sep 17 00:00:00 2001 From: Andrew Duthie Date: Tue, 30 Dec 2025 15:05:55 -0500 Subject: [PATCH 11/11] Add Figma scopes for font weight --- packages/theme/tokens/typography.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/theme/tokens/typography.json b/packages/theme/tokens/typography.json index e8b5954952477c..2e7bb2ebcaf5fa 100644 --- a/packages/theme/tokens/typography.json +++ b/packages/theme/tokens/typography.json @@ -104,6 +104,9 @@ "medium": { "$value": 499, "$description": "Medium font weight for emphasis and headings" + }, + "$extensions": { + "com.figma.scopes": [ "FONT_WEIGHT" ] } } }