Skip to content

Simple ai fixes#1315

Merged
lukasoppermann merged 5 commits intomainfrom
simple-ai-fixes
Feb 17, 2026
Merged

Simple ai fixes#1315
lukasoppermann merged 5 commits intomainfrom
simple-ai-fixes

Conversation

@lukasoppermann
Copy link
Copy Markdown
Collaborator

This pull request introduces new tokens and clarifies documentation across several token files, focusing on border, button, and spacing tokens. It also standardizes the CSS transformer for durations to always output milliseconds. The most important changes are grouped below:

Copilot AI review requested due to automatic review settings February 17, 2026 13:20
@lukasoppermann lukasoppermann requested review from a team as code owners February 17, 2026 13:20
@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Feb 17, 2026

🦋 Changeset detected

Latest commit: dae9342

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@primer/primitives Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 17, 2026

Design Token Diff (CSS)

The message is too long to be displayed here. For more details, please check the job summary.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 17, 2026

Design Token Diff (StyleLint)

The message is too long to be displayed here. For more details, please check the job summary.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 17, 2026

Design Token Diff (Figma)

/figma/dimension/dimension.json

+++ /home/runner/work/primitives/primitives/dist/figma/dimension/dimension.json	2026-02-17 15:05:25.858034966 +0000
@@ -403,6 +403,17 @@
   "scopes": ["GAP"]
 },
 {
+    "name": "control/small/paddingInline/spacious",
+    "value": 16,
+    "type": "FLOAT",
+    "refId": "pattern/size/control/small/paddingInline/spacious",
+    "reference": "base/size/base/size/16",
+    "collection": "pattern/size",
+    "mode": "default",
+    "group": "pattern/size",
+    "scopes": ["GAP"]
+  },
+  {
   "name": "control/small/gap",
   "value": 4,
   "type": "FLOAT",
@@ -522,6 +533,17 @@
   "scopes": ["GAP"]
 },
 {
+    "name": "control/large/paddingInline/condensed",
+    "value": 8,
+    "type": "FLOAT",
+    "refId": "pattern/size/control/large/paddingInline/condensed",
+    "reference": "base/size/base/size/8",
+    "collection": "pattern/size",
+    "mode": "default",
+    "group": "pattern/size",
+    "scopes": ["GAP"]
+  },
+  {
   "name": "control/large/paddingInline/normal",
   "value": 12,
   "type": "FLOAT",
@@ -587,6 +609,17 @@
   "scopes": ["GAP"]
 },
 {
+    "name": "control/xlarge/paddingInline/condensed",
+    "value": 8,
+    "type": "FLOAT",
+    "refId": "pattern/size/control/xlarge/paddingInline/condensed",
+    "reference": "base/size/base/size/8",
+    "collection": "pattern/size",
+    "mode": "default",
+    "group": "pattern/size",
+    "scopes": ["GAP"]
+  },
+  {
   "name": "control/xlarge/paddingInline/normal",
   "value": 12,
   "type": "FLOAT",
@@ -737,6 +770,17 @@
   }
 },
 {
+    "name": "controlStack/small/gap/auto",
+    "value": 8,
+    "type": "FLOAT",
+    "refId": "pattern/size/controlStack/small/gap/auto",
+    "reference": "base/size/base/size/8",
+    "collection": "pattern/size",
+    "mode": "default",
+    "group": "pattern/size",
+    "scopes": ["GAP"]
+  },
+  {
   "name": "controlStack/small/gap/condensed",
   "value": 8,
   "type": "FLOAT",
@@ -759,6 +803,17 @@
   "scopes": ["GAP"]
 },
 {
+    "name": "controlStack/medium/gap/auto",
+    "value": 8,
+    "type": "FLOAT",
+    "refId": "pattern/size/controlStack/medium/gap/auto",
+    "reference": "base/size/base/size/8",
+    "collection": "pattern/size",
+    "mode": "default",
+    "group": "pattern/size",
+    "scopes": ["GAP"]
+  },
+  {
   "name": "controlStack/medium/gap/condensed",
   "value": 8,
   "type": "FLOAT",
@@ -1067,7 +1122,7 @@
   "name": "borderRadius/large",
   "value": 12,
   "type": "FLOAT",
-    "description": "Large border radius (12px). Use for larger containers, dialogs, or when more visual softness is desired. Always use this for buttons.",
+    "description": "Large border radius (12px). Use for larger containers, dialogs, or when more visual softness is desired.",
   "refId": "functional/size/borderRadius/large",
   "collection": "functional/size",
   "mode": "default",

/figma/themes/dark-colorblind.json

+++ /home/runner/work/primitives/primitives/dist/figma/themes/dark-colorblind.json	2026-02-17 15:05:25.424030083 +0000
@@ -1672,7 +1672,7 @@
   },
   "type": "COLOR",
   "alpha": 0.15,
-    "description": "Semi-transparent border for overlays and layered elements",
+    "description": "Semi-transparent border for overlays and layered elements. Border-specific token — no bgColor-translucent counterpart exists by design.",
   "refId": "mode/borderColor/translucent",
   "reference": "base/color/dark/base/color/neutral/13",
   "collection": "mode",
@@ -9386,6 +9386,22 @@
   "scopes": ["TEXT_FILL", "SHAPE_FILL"]
 },
 {
+    "name": "button/default/fgColor/disabled",
+    "value": {
+      "r": 0.396078431372549,
+      "g": 0.4235294117647059,
+      "b": 0.4627450980392157,
+      "a": 1
+    },
+    "type": "COLOR",
+    "refId": "mode/button/default/fgColor/disabled",
+    "reference": "mode/control/fgColor/disabled",
+    "collection": "mode",
+    "mode": "dark protanopia deuteranopia",
+    "group": "component (internal)",
+    "scopes": ["TEXT_FILL", "SHAPE_FILL"]
+  },
+  {
   "name": "button/default/bgColor/rest",
   "value": {
     "r": 0.12941176470588237,
@@ -9613,6 +9629,22 @@
   "scopes": ["TEXT_FILL", "SHAPE_FILL"]
 },
 {
+    "name": "button/primary/iconColor/disabled",
+    "value": {
+      "r": 1,
+      "g": 1,
+      "b": 1,
+      "a": 0.4
+    },
+    "type": "COLOR",
+    "refId": "mode/button/primary/iconColor/disabled",
+    "reference": "mode/button/primary/fgColor/disabled",
+    "collection": "mode",
+    "mode": "dark protanopia deuteranopia",
+    "group": "component (internal)",
+    "scopes": ["TEXT_FILL", "SHAPE_FILL"]
+  },
+  {
   "name": "button/primary/bgColor/rest",
   "value": {
     "r": 0.12156862745098039,
@@ -10317,6 +10349,22 @@
   "collection": "mode",
   "mode": "dark protanopia deuteranopia",
   "group": "component (internal)",
+    "scopes": ["TEXT_FILL", "SHAPE_FILL"]
+  },
+  {
+    "name": "button/danger/iconColor/disabled",
+    "value": {
+      "r": 0.9411764705882353,
+      "g": 0.5333333333333333,
+      "b": 0.24313725490196078,
+      "a": 0.5
+    },
+    "type": "COLOR",
+    "refId": "mode/button/danger/iconColor/disabled",
+    "reference": "mode/button/danger/fgColor/disabled",
+    "collection": "mode",
+    "mode": "dark protanopia deuteranopia",
+    "group": "component (internal)",
   "scopes": ["TEXT_FILL", "SHAPE_FILL"]
 },
 {

/figma/themes/dark-dimmed.json

+++ /home/runner/work/primitives/primitives/dist/figma/themes/dark-dimmed.json	2026-02-17 15:05:24.661021500 +0000
@@ -1669,7 +1669,7 @@
   },
   "type": "COLOR",
   "alpha": 0.15,
-    "description": "Semi-transparent border for overlays and layered elements",
+    "description": "Semi-transparent border for overlays and layered elements. Border-specific token — no bgColor-translucent counterpart exists by design.",
   "refId": "mode/borderColor/translucent",
   "reference": "base/color/dark/base/color/neutral/13",
   "collection": "mode",
@@ -9379,6 +9379,22 @@
   "scopes": ["TEXT_FILL", "SHAPE_FILL"]
 },
 {
+    "name": "button/default/fgColor/disabled",
+    "value": {
+      "r": 0.396078431372549,
+      "g": 0.4235294117647059,
+      "b": 0.4627450980392157,
+      "a": 1
+    },
+    "type": "COLOR",
+    "refId": "mode/button/default/fgColor/disabled",
+    "reference": "mode/control/fgColor/disabled",
+    "collection": "mode",
+    "mode": "dark dimmed",
+    "group": "component (internal)",
+    "scopes": ["TEXT_FILL", "SHAPE_FILL"]
+  },
+  {
   "name": "button/default/bgColor/rest",
   "value": {
     "r": 0.16470588235294117,
@@ -9604,6 +9620,22 @@
   "scopes": ["TEXT_FILL", "SHAPE_FILL"]
 },
 {
+    "name": "button/primary/iconColor/disabled",
+    "value": {
+      "r": 0.803921568627451,
+      "g": 0.8509803921568627,
+      "b": 0.8980392156862745,
+      "a": 0.4
+    },
+    "type": "COLOR",
+    "refId": "mode/button/primary/iconColor/disabled",
+    "reference": "mode/button/primary/fgColor/disabled",
+    "collection": "mode",
+    "mode": "dark dimmed",
+    "group": "component (internal)",
+    "scopes": ["TEXT_FILL", "SHAPE_FILL"]
+  },
+  {
   "name": "button/primary/bgColor/rest",
   "value": {
     "r": 0.20392156862745098,
@@ -10303,6 +10335,22 @@
   "collection": "mode",
   "mode": "dark dimmed",
   "group": "component (internal)",
+    "scopes": ["TEXT_FILL", "SHAPE_FILL"]
+  },
+  {
+    "name": "button/danger/iconColor/disabled",
+    "value": {
+      "r": 0.8980392156862745,
+      "g": 0.3254901960784314,
+      "b": 0.29411764705882354,
+      "a": 0.5
+    },
+    "type": "COLOR",
+    "refId": "mode/button/danger/iconColor/disabled",
+    "reference": "mode/button/danger/fgColor/disabled",
+    "collection": "mode",
+    "mode": "dark dimmed",
+    "group": "component (internal)",
   "scopes": ["TEXT_FILL", "SHAPE_FILL"]
 },
 {

/figma/themes/dark-high-contrast.json

+++ /home/runner/work/primitives/primitives/dist/figma/themes/dark-high-contrast.json	2026-02-17 15:05:25.808034404 +0000
@@ -1668,7 +1668,7 @@
   },
   "type": "COLOR",
   "alpha": 1,
-    "description": "Semi-transparent border for overlays and layered elements",
+    "description": "Semi-transparent border for overlays and layered elements. Border-specific token — no bgColor-translucent counterpart exists by design.",
   "refId": "mode/borderColor/translucent",
   "reference": "base/color/dark/base/color/neutral/9",
   "collection": "mode",
@@ -9375,6 +9375,22 @@
   "scopes": ["TEXT_FILL", "SHAPE_FILL"]
 },
 {
+    "name": "button/default/fgColor/disabled",
+    "value": {
+      "r": 0.396078431372549,
+      "g": 0.4235294117647059,
+      "b": 0.4627450980392157,
+      "a": 1
+    },
+    "type": "COLOR",
+    "refId": "mode/button/default/fgColor/disabled",
+    "reference": "mode/control/fgColor/disabled",
+    "collection": "mode",
+    "mode": "dark high contrast",
+    "group": "component (internal)",
+    "scopes": ["TEXT_FILL", "SHAPE_FILL"]
+  },
+  {
   "name": "button/default/bgColor/rest",
   "value": {
     "r": 0.14901960784313725,
@@ -9602,6 +9618,22 @@
   "scopes": ["TEXT_FILL", "SHAPE_FILL"]
 },
 {
+    "name": "button/primary/iconColor/disabled",
+    "value": {
+      "r": 1,
+      "g": 1,
+      "b": 1,
+      "a": 0.4
+    },
+    "type": "COLOR",
+    "refId": "mode/button/primary/iconColor/disabled",
+    "reference": "mode/button/primary/fgColor/disabled",
+    "collection": "mode",
+    "mode": "dark high contrast",
+    "group": "component (internal)",
+    "scopes": ["TEXT_FILL", "SHAPE_FILL"]
+  },
+  {
   "name": "button/primary/bgColor/rest",
   "value": {
     "r": 0,
@@ -10310,6 +10342,22 @@
   "collection": "mode",
   "mode": "dark high contrast",
   "group": "component (internal)",
+    "scopes": ["TEXT_FILL", "SHAPE_FILL"]
+  },
+  {
+    "name": "button/danger/iconColor/disabled",
+    "value": {
+      "r": 1,
+      "g": 0.5803921568627451,
+      "b": 0.5725490196078431,
+      "a": 0.5
+    },
+    "type": "COLOR",
+    "refId": "mode/button/danger/iconColor/disabled",
+    "reference": "mode/button/danger/fgColor/disabled",
+    "collection": "mode",
+    "mode": "dark high contrast",
+    "group": "component (internal)",
   "scopes": ["TEXT_FILL", "SHAPE_FILL"]
 },
 {

/figma/themes/dark-tritanopia.json

+++ /home/runner/work/primitives/primitives/dist/figma/themes/dark-tritanopia.json	2026-02-17 15:05:25.030025651 +0000
@@ -1671,7 +1671,7 @@
   },
   "type": "COLOR",
   "alpha": 0.15,
-    "description": "Semi-transparent border for overlays and layered elements",
+    "description": "Semi-transparent border for overlays and layered elements. Border-specific token — no bgColor-translucent counterpart exists by design.",
   "refId": "mode/borderColor/translucent",
   "reference": "base/color/dark/base/color/neutral/13",
   "collection": "mode",
@@ -9385,6 +9385,22 @@
   "scopes": ["TEXT_FILL", "SHAPE_FILL"]
 },
 {
+    "name": "button/default/fgColor/disabled",
+    "value": {
+      "r": 0.396078431372549,
+      "g": 0.4235294117647059,
+      "b": 0.4627450980392157,
+      "a": 1
+    },
+    "type": "COLOR",
+    "refId": "mode/button/default/fgColor/disabled",
+    "reference": "mode/control/fgColor/disabled",
+    "collection": "mode",
+    "mode": "dark tritanopia",
+    "group": "component (internal)",
+    "scopes": ["TEXT_FILL", "SHAPE_FILL"]
+  },
+  {
   "name": "button/default/bgColor/rest",
   "value": {
     "r": 0.12941176470588237,
@@ -9612,6 +9628,22 @@
   "scopes": ["TEXT_FILL", "SHAPE_FILL"]
 },
 {
+    "name": "button/primary/iconColor/disabled",
+    "value": {
+      "r": 1,
+      "g": 1,
+      "b": 1,
+      "a": 0.4
+    },
+    "type": "COLOR",
+    "refId": "mode/button/primary/iconColor/disabled",
+    "reference": "mode/button/primary/fgColor/disabled",
+    "collection": "mode",
+    "mode": "dark tritanopia",
+    "group": "component (internal)",
+    "scopes": ["TEXT_FILL", "SHAPE_FILL"]
+  },
+  {
   "name": "button/primary/bgColor/rest",
   "value": {
     "r": 0.12156862745098039,
@@ -10311,6 +10343,22 @@
   "collection": "mode",
   "mode": "dark tritanopia",
   "group": "component (internal)",
+    "scopes": ["TEXT_FILL", "SHAPE_FILL"]
+  },
+  {
+    "name": "button/danger/iconColor/disabled",
+    "value": {
+      "r": 0.9725490196078431,
+      "g": 0.3176470588235294,
+      "b": 0.28627450980392155,
+      "a": 0.5
+    },
+    "type": "COLOR",
+    "refId": "mode/button/danger/iconColor/disabled",
+    "reference": "mode/button/danger/fgColor/disabled",
+    "collection": "mode",
+    "mode": "dark tritanopia",
+    "group": "component (internal)",
   "scopes": ["TEXT_FILL", "SHAPE_FILL"]
 },
 {

/figma/themes/dark.json

+++ /home/runner/work/primitives/primitives/dist/figma/themes/dark.json	2026-02-17 15:05:24.280017213 +0000
@@ -1669,7 +1669,7 @@
   },
   "type": "COLOR",
   "alpha": 0.15,
-    "description": "Semi-transparent border for overlays and layered elements",
+    "description": "Semi-transparent border for overlays and layered elements. Border-specific token — no bgColor-translucent counterpart exists by design.",
   "refId": "mode/borderColor/translucent",
   "reference": "base/color/dark/base/color/neutral/13",
   "collection": "mode",
@@ -9380,6 +9380,22 @@
   "scopes": ["TEXT_FILL", "SHAPE_FILL"]
 },
 {
+    "name": "button/default/fgColor/disabled",
+    "value": {
+      "r": 0.396078431372549,
+      "g": 0.4235294117647059,
+      "b": 0.4627450980392157,
+      "a": 1
+    },
+    "type": "COLOR",
+    "refId": "mode/button/default/fgColor/disabled",
+    "reference": "mode/control/fgColor/disabled",
+    "collection": "mode",
+    "mode": "dark",
+    "group": "component (internal)",
+    "scopes": ["TEXT_FILL", "SHAPE_FILL"]
+  },
+  {
   "name": "button/default/bgColor/rest",
   "value": {
     "r": 0.12941176470588237,
@@ -9607,6 +9623,22 @@
   "scopes": ["TEXT_FILL", "SHAPE_FILL"]
 },
 {
+    "name": "button/primary/iconColor/disabled",
+    "value": {
+      "r": 1,
+      "g": 1,
+      "b": 1,
+      "a": 0.4
+    },
+    "type": "COLOR",
+    "refId": "mode/button/primary/iconColor/disabled",
+    "reference": "mode/button/primary/fgColor/disabled",
+    "collection": "mode",
+    "mode": "dark",
+    "group": "component (internal)",
+    "scopes": ["TEXT_FILL", "SHAPE_FILL"]
+  },
+  {
   "name": "button/primary/bgColor/rest",
   "value": {
     "r": 0.13725490196078433,
@@ -10309,6 +10341,22 @@
   "collection": "mode",
   "mode": "dark",
   "group": "component (internal)",
+    "scopes": ["TEXT_FILL", "SHAPE_FILL"]
+  },
+  {
+    "name": "button/danger/iconColor/disabled",
+    "value": {
+      "r": 0.9725490196078431,
+      "g": 0.3176470588235294,
+      "b": 0.28627450980392155,
+      "a": 0.5
+    },
+    "type": "COLOR",
+    "refId": "mode/button/danger/iconColor/disabled",
+    "reference": "mode/button/danger/fgColor/disabled",
+    "collection": "mode",
+    "mode": "dark",
+    "group": "component (internal)",
   "scopes": ["TEXT_FILL", "SHAPE_FILL"]
 },
 {

/figma/themes/light-colorblind.json

+++ /home/runner/work/primitives/primitives/dist/figma/themes/light-colorblind.json	2026-02-17 15:05:23.423007572 +0000
@@ -1662,7 +1662,7 @@
   },
   "type": "COLOR",
   "alpha": 0.15,
-    "description": "Semi-transparent border for overlays and layered elements",
+    "description": "Semi-transparent border for overlays and layered elements. Border-specific token — no bgColor-translucent counterpart exists by design.",
   "refId": "mode/borderColor/translucent",
   "reference": "base/color/light/base/color/neutral/13",
   "collection": "mode",
@@ -9376,6 +9376,22 @@
   "scopes": ["TEXT_FILL", "SHAPE_FILL"]
 },
 {
+    "name": "button/default/fgColor/disabled",
+    "value": {
+      "r": 0.5058823529411764,
+      "g": 0.5450980392156862,
+      "b": 0.596078431372549,
+      "a": 1
+    },
+    "type": "COLOR",
+    "refId": "mode/button/default/fgColor/disabled",
+    "reference": "mode/control/fgColor/disabled",
+    "collection": "mode",
+    "mode": "light protanopia deuteranopia",
+    "group": "component (internal)",
+    "scopes": ["TEXT_FILL", "SHAPE_FILL"]
+  },
+  {
   "name": "button/default/bgColor/rest",
   "value": {
     "r": 0.9647058823529412,
@@ -9604,6 +9620,22 @@
   "scopes": ["TEXT_FILL", "SHAPE_FILL"]
 },
 {
+    "name": "button/primary/iconColor/disabled",
+    "value": {
+      "r": 1,
+      "g": 1,
+      "b": 1,
+      "a": 0.8
+    },
+    "type": "COLOR",
+    "refId": "mode/button/primary/iconColor/disabled",
+    "reference": "mode/button/primary/fgColor/disabled",
+    "collection": "mode",
+    "mode": "light protanopia deuteranopia",
+    "group": "component (internal)",
+    "scopes": ["TEXT_FILL", "SHAPE_FILL"]
+  },
+  {
   "name": "button/primary/bgColor/rest",
   "value": {
     "r": 0.03529411764705882,
@@ -10307,6 +10339,22 @@
   "collection": "mode",
   "mode": "light protanopia deuteranopia",
   "group": "component (internal)",
+    "scopes": ["TEXT_FILL", "SHAPE_FILL"]
+  },
+  {
+    "name": "button/danger/iconColor/disabled",
+    "value": {
+      "r": 0.7372549019607844,
+      "g": 0.2980392156862745,
+      "b": 0,
+      "a": 0.5
+    },
+    "type": "COLOR",
+    "refId": "mode/button/danger/iconColor/disabled",
+    "reference": "mode/button/danger/fgColor/disabled",
+    "collection": "mode",
+    "mode": "light protanopia deuteranopia",
+    "group": "component (internal)",
   "scopes": ["TEXT_FILL", "SHAPE_FILL"]
 },
 {

/figma/themes/light-high-contrast.json

+++ /home/runner/work/primitives/primitives/dist/figma/themes/light-high-contrast.json	2026-02-17 15:05:23.839012252 +0000
@@ -1661,7 +1661,7 @@
   },
   "type": "COLOR",
   "alpha": 1,
-    "description": "Semi-transparent border for overlays and layered elements",
+    "description": "Semi-transparent border for overlays and layered elements. Border-specific token — no bgColor-translucent counterpart exists by design.",
   "refId": "mode/borderColor/translucent",
   "reference": "base/color/light/base/color/neutral/9",
   "collection": "mode",
@@ -9369,6 +9369,22 @@
   "scopes": ["TEXT_FILL", "SHAPE_FILL"]
 },
 {
+    "name": "button/default/fgColor/disabled",
+    "value": {
+      "r": 0.34901960784313724,
+      "g": 0.38823529411764707,
+      "b": 0.43137254901960786,
+      "a": 1
+    },
+    "type": "COLOR",
+    "refId": "mode/button/default/fgColor/disabled",
+    "reference": "mode/control/fgColor/disabled",
+    "collection": "mode",
+    "mode": "light high contrast",
+    "group": "component (internal)",
+    "scopes": ["TEXT_FILL", "SHAPE_FILL"]
+  },
+  {
   "name": "button/default/bgColor/rest",
   "value": {
     "r": 0.8784313725490196,
@@ -9597,6 +9613,22 @@
   "scopes": ["TEXT_FILL", "SHAPE_FILL"]
 },
 {
+    "name": "button/primary/iconColor/disabled",
+    "value": {
+      "r": 1,
+      "g": 1,
+      "b": 1,
+      "a": 0.8
+    },
+    "type": "COLOR",
+    "refId": "mode/button/primary/iconColor/disabled",
+    "reference": "mode/button/primary/fgColor/disabled",
+    "collection": "mode",
+    "mode": "light high contrast",
+    "group": "component (internal)",
+    "scopes": ["TEXT_FILL", "SHAPE_FILL"]
+  },
+  {
   "name": "button/primary/bgColor/rest",
   "value": {
     "r": 0.0196078431372549,
@@ -10300,6 +10332,22 @@
   "collection": "mode",
   "mode": "light high contrast",
   "group": "component (internal)",
+    "scopes": ["TEXT_FILL", "SHAPE_FILL"]
+  },
+  {
+    "name": "button/danger/iconColor/disabled",
+    "value": {
+      "r": 0.5254901960784314,
+      "g": 0.023529411764705882,
+      "b": 0.11372549019607843,
+      "a": 0.5
+    },
+    "type": "COLOR",
+    "refId": "mode/button/danger/iconColor/disabled",
+    "reference": "mode/button/danger/fgColor/disabled",
+    "collection": "mode",
+    "mode": "light high contrast",
+    "group": "component (internal)",
   "scopes": ["TEXT_FILL", "SHAPE_FILL"]
 },
 {

/figma/themes/light-tritanopia.json

+++ /home/runner/work/primitives/primitives/dist/figma/themes/light-tritanopia.json	2026-02-17 15:05:23.027003116 +0000
@@ -1662,7 +1662,7 @@
   },
   "type": "COLOR",
   "alpha": 0.15,
-    "description": "Semi-transparent border for overlays and layered elements",
+    "description": "Semi-transparent border for overlays and layered elements. Border-specific token — no bgColor-translucent counterpart exists by design.",
   "refId": "mode/borderColor/translucent",
   "reference": "base/color/light/base/color/neutral/13",
   "collection": "mode",
@@ -9375,6 +9375,22 @@
   "scopes": ["TEXT_FILL", "SHAPE_FILL"]
 },
 {
+    "name": "button/default/fgColor/disabled",
+    "value": {
+      "r": 0.5058823529411764,
+      "g": 0.5450980392156862,
+      "b": 0.596078431372549,
+      "a": 1
+    },
+    "type": "COLOR",
+    "refId": "mode/button/default/fgColor/disabled",
+    "reference": "mode/control/fgColor/disabled",
+    "collection": "mode",
+    "mode": "light tritanopia",
+    "group": "component (internal)",
+    "scopes": ["TEXT_FILL", "SHAPE_FILL"]
+  },
+  {
   "name": "button/default/bgColor/rest",
   "value": {
     "r": 0.9647058823529412,
@@ -9603,6 +9619,22 @@
   "scopes": ["TEXT_FILL", "SHAPE_FILL"]
 },
 {
+    "name": "button/primary/iconColor/disabled",
+    "value": {
+      "r": 1,
+      "g": 1,
+      "b": 1,
+      "a": 0.8
+    },
+    "type": "COLOR",
+    "refId": "mode/button/primary/iconColor/disabled",
+    "reference": "mode/button/primary/fgColor/disabled",
+    "collection": "mode",
+    "mode": "light tritanopia",
+    "group": "component (internal)",
+    "scopes": ["TEXT_FILL", "SHAPE_FILL"]
+  },
+  {
   "name": "button/primary/bgColor/rest",
   "value": {
     "r": 0.03529411764705882,
@@ -10306,6 +10338,22 @@
   "collection": "mode",
   "mode": "light tritanopia",
   "group": "component (internal)",
+    "scopes": ["TEXT_FILL", "SHAPE_FILL"]
+  },
+  {
+    "name": "button/danger/iconColor/disabled",
+    "value": {
+      "r": 0.8196078431372549,
+      "g": 0.1411764705882353,
+      "b": 0.1843137254901961,
+      "a": 0.5
+    },
+    "type": "COLOR",
+    "refId": "mode/button/danger/iconColor/disabled",
+    "reference": "mode/button/danger/fgColor/disabled",
+    "collection": "mode",
+    "mode": "light tritanopia",
+    "group": "component (internal)",
   "scopes": ["TEXT_FILL", "SHAPE_FILL"]
 },
 {

/figma/themes/light.json

+++ /home/runner/work/primitives/primitives/dist/figma/themes/light.json	2026-02-17 15:05:22.557997852 +0000
@@ -1661,7 +1661,7 @@
   },
   "type": "COLOR",
   "alpha": 0.15,
-    "description": "Semi-transparent border for overlays and layered elements",
+    "description": "Semi-transparent border for overlays and layered elements. Border-specific token — no bgColor-translucent counterpart exists by design.",
   "refId": "mode/borderColor/translucent",
   "reference": "base/color/light/base/color/neutral/13",
   "collection": "mode",
@@ -9371,6 +9371,22 @@
   "scopes": ["TEXT_FILL", "SHAPE_FILL"]
 },
 {
+    "name": "button/default/fgColor/disabled",
+    "value": {
+      "r": 0.5058823529411764,
+      "g": 0.5450980392156862,
+      "b": 0.596078431372549,
+      "a": 1
+    },
+    "type": "COLOR",
+    "refId": "mode/button/default/fgColor/disabled",
+    "reference": "mode/control/fgColor/disabled",
+    "collection": "mode",
+    "mode": "light",
+    "group": "component (internal)",
+    "scopes": ["TEXT_FILL", "SHAPE_FILL"]
+  },
+  {
   "name": "button/default/bgColor/rest",
   "value": {
     "r": 0.9647058823529412,
@@ -9599,6 +9615,22 @@
   "scopes": ["TEXT_FILL", "SHAPE_FILL"]
 },
 {
+    "name": "button/primary/iconColor/disabled",
+    "value": {
+      "r": 1,
+      "g": 1,
+      "b": 1,
+      "a": 0.8
+    },
+    "type": "COLOR",
+    "refId": "mode/button/primary/iconColor/disabled",
+    "reference": "mode/button/primary/fgColor/disabled",
+    "collection": "mode",
+    "mode": "light",
+    "group": "component (internal)",
+    "scopes": ["TEXT_FILL", "SHAPE_FILL"]
+  },
+  {
   "name": "button/primary/bgColor/rest",
   "value": {
     "r": 0.12156862745098039,
@@ -10302,6 +10334,22 @@
   "collection": "mode",
   "mode": "light",
   "group": "component (internal)",
+    "scopes": ["TEXT_FILL", "SHAPE_FILL"]
+  },
+  {
+    "name": "button/danger/iconColor/disabled",
+    "value": {
+      "r": 0.8196078431372549,
+      "g": 0.1411764705882353,
+      "b": 0.1843137254901961,
+      "a": 0.5
+    },
+    "type": "COLOR",
+    "refId": "mode/button/danger/iconColor/disabled",
+    "reference": "mode/button/danger/fgColor/disabled",
+    "collection": "mode",
+    "mode": "light",
+    "group": "component (internal)",
   "scopes": ["TEXT_FILL", "SHAPE_FILL"]
 },
 {

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 17, 2026

Design Token Diff (Fallbacks)

/fallbacks/functional/size/size-coarse.json

+++ /home/runner/work/primitives/primitives/dist/fallbacks/functional/size/size-coarse.json	2026-02-17 15:05:19.239960674 +0000
@@ -1,5 +1,6 @@
{
 "--control-minTarget-auto": "2.75rem",
 "--controlStack-small-gap-auto": "1rem",
-  "--controlStack-medium-gap-auto": "0.75rem"
+  "--controlStack-medium-gap-auto": "0.75rem",
+  "--controlStack-large-gap-auto": "0.75rem"
}

/fallbacks/functional/size/size-fine.json

+++ /home/runner/work/primitives/primitives/dist/fallbacks/functional/size/size-fine.json	2026-02-17 15:05:19.316961536 +0000
@@ -1,5 +1,6 @@
{
 "--control-minTarget-auto": "1rem",
 "--controlStack-small-gap-auto": "0.5rem",
-  "--controlStack-medium-gap-auto": "0.5rem"
+  "--controlStack-medium-gap-auto": "0.5rem",
+  "--controlStack-large-gap-auto": "0.5rem"
}

/fallbacks/functional/size/size.json

+++ /home/runner/work/primitives/primitives/dist/fallbacks/functional/size/size.json	2026-02-17 15:05:19.430962814 +0000
@@ -13,6 +13,7 @@
 "--control-small-paddingBlock": "0.25rem",
 "--control-small-paddingInline-condensed": "0.5rem",
 "--control-small-paddingInline-normal": "0.75rem",
+  "--control-small-paddingInline-spacious": "1rem",
 "--control-small-gap": "0.25rem",
 "--control-medium-size": "2rem",
 "--control-medium-lineBoxHeight": "1.25rem",
@@ -24,17 +25,21 @@
 "--control-large-size": "2.5rem",
 "--control-large-lineBoxHeight": "1.25rem",
 "--control-large-paddingBlock": "0.625rem",
+  "--control-large-paddingInline-condensed": "0.5rem",
 "--control-large-paddingInline-normal": "0.75rem",
 "--control-large-paddingInline-spacious": "1rem",
 "--control-large-gap": "0.5rem",
 "--control-xlarge-size": "3rem",
 "--control-xlarge-lineBoxHeight": "1.25rem",
 "--control-xlarge-paddingBlock": "0.875rem",
+  "--control-xlarge-paddingInline-condensed": "0.5rem",
 "--control-xlarge-paddingInline-normal": "0.75rem",
 "--control-xlarge-paddingInline-spacious": "1rem",
 "--control-xlarge-gap": "0.5rem",
+  "--controlStack-small-gap-auto": "0.5rem",
 "--controlStack-small-gap-condensed": "0.5rem",
 "--controlStack-small-gap-spacious": "1rem",
+  "--controlStack-medium-gap-auto": "0.5rem",
 "--controlStack-medium-gap-condensed": "0.5rem",
 "--controlStack-medium-gap-spacious": "0.75rem",
 "--controlStack-large-gap-auto": "0.5rem",

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates design-token documentation and adds/extends several token definitions (border, button, size/spacing), and changes the duration/css Style Dictionary transformer to always emit CSS durations in milliseconds.

Changes:

  • Updated durationToCss transformer to convert seconds to milliseconds and always output ms; adjusted unit tests accordingly.
  • Added new spacing tokens (e.g. paddingInline.condensed, paddingInline.spacious, controlStack.*.gap.auto) across size token files, including fine/coarse variants.
  • Clarified token documentation and added new semantic border/button tokens (e.g. border.translucent, border.draft.*, button disabled fgColor tokens, plus additional descriptions).

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/transformers/durationToCss.ts Standardizes duration CSS output to milliseconds by converting s to ms.
src/transformers/durationToCss.test.ts Updates expectations to match ms-only output behavior.
src/tokens/functional/size/size.json5 Adds additional control padding variants and controlStack auto gap tokens.
src/tokens/functional/size/size-fine.json5 Adds controlStack.large.gap.auto for fine pointer contexts.
src/tokens/functional/size/size-coarse.json5 Adds controlStack.large.gap.auto for coarse pointer contexts.
src/tokens/functional/size/radius.json5 Refines radius documentation for borderRadius.large.
src/tokens/functional/color/borderColor.json5 Adds top-level guidance clarifying borderColor as color-only and updates translucent description.
src/tokens/functional/border/border.json5 Clarifies composite border token guidance; adds translucent and draft border shorthand tokens.
src/tokens/component/button.json5 Adds disabled fgColor tokens and improves documentation for single-state variants.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions github-actions bot temporarily deployed to Preview (Storybook) February 17, 2026 13:24 Inactive
@lukasoppermann lukasoppermann added the update snapshots Update visual regression test snapshots label Feb 17, 2026
@github-actions github-actions bot removed the update snapshots Update visual regression test snapshots label Feb 17, 2026
@primer primer bot temporarily deployed to github-pages February 17, 2026 15:06 Inactive
@github-actions github-actions bot temporarily deployed to Preview (Storybook) February 17, 2026 15:06 Inactive
@lukasoppermann lukasoppermann merged commit 8bb3e76 into main Feb 17, 2026
31 checks passed
@lukasoppermann lukasoppermann deleted the simple-ai-fixes branch February 17, 2026 20:14
@primer primer bot mentioned this pull request Feb 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants