@primer/primitives 11.4.0 → 11.4.1-rc.14fb4bb1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/DESIGN_TOKENS_GUIDE.md +185 -0
  2. package/DESIGN_TOKENS_SPEC.md +565 -0
  3. package/dist/build/formats/jsonFigma.js +8 -1
  4. package/dist/build/formats/markdownLlmGuidelines.d.ts +7 -6
  5. package/dist/build/formats/markdownLlmGuidelines.js +1034 -60
  6. package/dist/build/schemas/borderToken.d.ts +61 -5
  7. package/dist/build/schemas/borderToken.js +2 -1
  8. package/dist/build/schemas/colorToken.d.ts +639 -30
  9. package/dist/build/schemas/colorToken.js +3 -2
  10. package/dist/build/schemas/colorW3cValue.d.ts +28 -0
  11. package/dist/build/schemas/colorW3cValue.js +42 -0
  12. package/dist/build/schemas/cubicBezierToken.d.ts +1 -1
  13. package/dist/build/schemas/dimensionToken.d.ts +9 -2
  14. package/dist/build/schemas/dimensionValue.d.ts +12 -1
  15. package/dist/build/schemas/dimensionValue.js +10 -13
  16. package/dist/build/schemas/durationToken.d.ts +8 -2
  17. package/dist/build/schemas/durationValue.d.ts +11 -1
  18. package/dist/build/schemas/durationValue.js +13 -3
  19. package/dist/build/schemas/fontFamilyToken.d.ts +1 -1
  20. package/dist/build/schemas/fontWeightToken.d.ts +1 -1
  21. package/dist/build/schemas/gradientToken.d.ts +23 -2
  22. package/dist/build/schemas/gradientToken.js +2 -1
  23. package/dist/build/schemas/numberToken.d.ts +1 -1
  24. package/dist/build/schemas/shadowToken.d.ts +1751 -127
  25. package/dist/build/schemas/shadowToken.js +8 -2
  26. package/dist/build/schemas/stringToken.d.ts +1 -1
  27. package/dist/build/schemas/stringToken.js +1 -1
  28. package/dist/build/schemas/tokenType.d.ts +1 -1
  29. package/dist/build/schemas/transitionToken.d.ts +15 -3
  30. package/dist/build/schemas/typographyToken.d.ts +19 -5
  31. package/dist/build/schemas/typographyToken.js +1 -1
  32. package/dist/build/schemas/validTokenType.d.ts +1 -1
  33. package/dist/build/schemas/validTokenType.js +1 -1
  34. package/dist/build/schemas/viewportRangeToken.d.ts +1 -1
  35. package/dist/build/transformers/borderToCss.js +19 -1
  36. package/dist/build/transformers/colorAlphaToCss.js +6 -3
  37. package/dist/build/transformers/colorToHex.js +5 -2
  38. package/dist/build/transformers/colorToRgbAlpha.js +5 -2
  39. package/dist/build/transformers/colorToRgbaFloat.js +5 -0
  40. package/dist/build/transformers/dimensionToPixelUnitless.d.ts +3 -2
  41. package/dist/build/transformers/dimensionToPixelUnitless.js +22 -26
  42. package/dist/build/transformers/dimensionToRem.d.ts +2 -1
  43. package/dist/build/transformers/dimensionToRem.js +21 -22
  44. package/dist/build/transformers/dimensionToRemPxArray.d.ts +2 -1
  45. package/dist/build/transformers/dimensionToRemPxArray.js +21 -22
  46. package/dist/build/transformers/durationToCss.d.ts +2 -1
  47. package/dist/build/transformers/durationToCss.js +18 -11
  48. package/dist/build/transformers/gradientToCss.js +2 -1
  49. package/dist/build/transformers/shadowToCss.js +15 -1
  50. package/dist/build/transformers/utilities/normalizeColorValue.d.ts +23 -0
  51. package/dist/build/transformers/utilities/normalizeColorValue.js +74 -0
  52. package/dist/build/transformers/utilities/parseDimension.d.ts +12 -0
  53. package/dist/build/transformers/utilities/parseDimension.js +31 -0
  54. package/dist/build/types/borderTokenValue.d.ts +5 -2
  55. package/dist/build/types/dimensionTokenValue.d.ts +9 -0
  56. package/dist/build/types/shadowTokenValue.d.ts +8 -5
  57. package/dist/css/functional/themes/dark-colorblind-high-contrast.css +32 -28
  58. package/dist/css/functional/themes/dark-colorblind.css +32 -28
  59. package/dist/css/functional/themes/dark-dimmed-high-contrast.css +32 -28
  60. package/dist/css/functional/themes/dark-dimmed.css +32 -28
  61. package/dist/css/functional/themes/dark-high-contrast.css +32 -28
  62. package/dist/css/functional/themes/dark-tritanopia-high-contrast.css +32 -28
  63. package/dist/css/functional/themes/dark-tritanopia.css +32 -28
  64. package/dist/css/functional/themes/dark.css +32 -28
  65. package/dist/css/functional/themes/light-colorblind-high-contrast.css +32 -28
  66. package/dist/css/functional/themes/light-colorblind.css +32 -28
  67. package/dist/css/functional/themes/light-high-contrast.css +32 -28
  68. package/dist/css/functional/themes/light-tritanopia-high-contrast.css +32 -28
  69. package/dist/css/functional/themes/light-tritanopia.css +32 -28
  70. package/dist/css/functional/themes/light.css +32 -28
  71. package/dist/css/primitives.css +4 -0
  72. package/dist/docs/base/motion/motion.json +96 -24
  73. package/dist/docs/base/size/size.json +76 -19
  74. package/dist/docs/base/typography/typography.json +24 -6
  75. package/dist/docs/functional/size/border.json +26 -11
  76. package/dist/docs/functional/size/breakpoints.json +24 -6
  77. package/dist/docs/functional/size/radius.json +16 -4
  78. package/dist/docs/functional/size/size.json +60 -15
  79. package/dist/docs/functional/themes/dark-colorblind-high-contrast.json +2629 -346
  80. package/dist/docs/functional/themes/dark-colorblind.json +2629 -346
  81. package/dist/docs/functional/themes/dark-dimmed-high-contrast.json +2629 -346
  82. package/dist/docs/functional/themes/dark-dimmed.json +2629 -346
  83. package/dist/docs/functional/themes/dark-high-contrast.json +2629 -346
  84. package/dist/docs/functional/themes/dark-tritanopia-high-contrast.json +2629 -346
  85. package/dist/docs/functional/themes/dark-tritanopia.json +2629 -346
  86. package/dist/docs/functional/themes/dark.json +2629 -346
  87. package/dist/docs/functional/themes/light-colorblind-high-contrast.json +2635 -352
  88. package/dist/docs/functional/themes/light-colorblind.json +2632 -349
  89. package/dist/docs/functional/themes/light-high-contrast.json +2635 -352
  90. package/dist/docs/functional/themes/light-tritanopia-high-contrast.json +2635 -352
  91. package/dist/docs/functional/themes/light-tritanopia.json +2632 -349
  92. package/dist/docs/functional/themes/light.json +2632 -349
  93. package/dist/docs/functional/typography/typography.json +8 -2
  94. package/dist/fallbacks/base/motion/motion.json +48 -12
  95. package/dist/figma/themes/light-colorblind.json +4 -4
  96. package/dist/figma/themes/light-high-contrast.json +4 -4
  97. package/dist/figma/themes/light-tritanopia.json +4 -4
  98. package/dist/figma/themes/light.json +4 -4
  99. package/dist/internalCss/dark-colorblind-high-contrast.css +28 -28
  100. package/dist/internalCss/dark-colorblind.css +28 -28
  101. package/dist/internalCss/dark-dimmed-high-contrast.css +28 -28
  102. package/dist/internalCss/dark-dimmed.css +28 -28
  103. package/dist/internalCss/dark-high-contrast.css +28 -28
  104. package/dist/internalCss/dark-tritanopia-high-contrast.css +28 -28
  105. package/dist/internalCss/dark-tritanopia.css +28 -28
  106. package/dist/internalCss/dark.css +28 -28
  107. package/dist/internalCss/light-colorblind-high-contrast.css +28 -28
  108. package/dist/internalCss/light-colorblind.css +28 -28
  109. package/dist/internalCss/light-high-contrast.css +28 -28
  110. package/dist/internalCss/light-tritanopia-high-contrast.css +28 -28
  111. package/dist/internalCss/light-tritanopia.css +28 -28
  112. package/dist/internalCss/light.css +28 -28
  113. package/dist/styleLint/base/motion/motion.json +96 -24
  114. package/dist/styleLint/base/size/size.json +76 -19
  115. package/dist/styleLint/base/typography/typography.json +30 -12
  116. package/dist/styleLint/functional/size/border.json +27 -12
  117. package/dist/styleLint/functional/size/breakpoints.json +24 -6
  118. package/dist/styleLint/functional/size/radius.json +17 -5
  119. package/dist/styleLint/functional/size/size-coarse.json +3 -3
  120. package/dist/styleLint/functional/size/size-fine.json +3 -3
  121. package/dist/styleLint/functional/size/size.json +111 -66
  122. package/dist/styleLint/functional/themes/dark-colorblind-high-contrast.json +2757 -366
  123. package/dist/styleLint/functional/themes/dark-colorblind.json +2757 -366
  124. package/dist/styleLint/functional/themes/dark-dimmed-high-contrast.json +2757 -366
  125. package/dist/styleLint/functional/themes/dark-dimmed.json +2757 -366
  126. package/dist/styleLint/functional/themes/dark-high-contrast.json +2757 -366
  127. package/dist/styleLint/functional/themes/dark-tritanopia-high-contrast.json +2757 -366
  128. package/dist/styleLint/functional/themes/dark-tritanopia.json +2757 -366
  129. package/dist/styleLint/functional/themes/dark.json +2757 -366
  130. package/dist/styleLint/functional/themes/light-colorblind-high-contrast.json +2763 -372
  131. package/dist/styleLint/functional/themes/light-colorblind.json +2760 -369
  132. package/dist/styleLint/functional/themes/light-high-contrast.json +2763 -372
  133. package/dist/styleLint/functional/themes/light-tritanopia-high-contrast.json +2763 -372
  134. package/dist/styleLint/functional/themes/light-tritanopia.json +2760 -369
  135. package/dist/styleLint/functional/themes/light.json +2760 -369
  136. package/dist/styleLint/functional/typography/typography.json +28 -22
  137. package/package.json +9 -7
  138. package/src/tokens/base/motion/timing.json5 +12 -12
  139. package/src/tokens/base/size/size.json5 +194 -194
  140. package/src/tokens/base/typography/typography.json5 +6 -6
  141. package/src/tokens/component/avatar.json5 +72 -44
  142. package/src/tokens/component/button.json5 +1545 -1193
  143. package/src/tokens/functional/border/border.json5 +4 -1
  144. package/src/tokens/functional/color/bgColor.json5 +8 -0
  145. package/src/tokens/functional/color/display.json5 +7 -0
  146. package/src/tokens/functional/color/fgColor.json5 +8 -0
  147. package/src/tokens/functional/color/syntax.json5 +14 -0
  148. package/src/tokens/functional/shadow/shadow.json5 +1254 -163
  149. package/src/tokens/functional/size/border.json5 +8 -8
  150. package/src/tokens/functional/size/breakpoints.json5 +6 -6
  151. package/src/tokens/functional/size/radius.json5 +4 -4
  152. package/src/tokens/functional/size/size.json5 +15 -15
  153. package/src/tokens/functional/typography/typography.json5 +8 -4
  154. package/dist/build/parsers/index.d.ts +0 -1
  155. package/dist/build/parsers/index.js +0 -1
  156. package/dist/build/parsers/w3cJsonParser.d.ts +0 -6
  157. package/dist/build/parsers/w3cJsonParser.js +0 -25
  158. package/dist/removed/testing.json5 +0 -4
  159. package/guidelines/color.llm.md +0 -16
  160. package/guidelines/guidelines.llm.md +0 -34
  161. package/guidelines/motion.llm.md +0 -41
  162. package/guidelines/spacing.llm.md +0 -20
  163. package/guidelines/typography.llm.md +0 -14
  164. package/src/tokens/removed/testing.json5 +0 -4
  165. package/token-guidelines.llm.md +0 -695
@@ -1,3 +1,7 @@
1
+ /**
2
+ * @spec See /DESIGN_TOKENS_SPEC.md for naming logic and semantic pairings.
3
+ * @rule Never use raw values (hex/px). Use semantic tokens ONLY.
4
+ */
1
5
  [data-color-mode="dark"][data-dark-theme="dark_tritanopia"],
2
6
  [data-color-mode="auto"][data-light-theme="dark_tritanopia"] {
3
7
  --bgColor-sponsors-muted: #db61a21a; /** Subtle background for GitHub Sponsors content */
@@ -15,7 +19,7 @@
15
19
  --control-checked-bgColor-hover: #2a7aef;
16
20
  --fgColor-accent: #4493f8; /** Accent text for links and interactive elements */
17
21
  --reactionButton-selected-bgColor-hover: #3a8cfd5c;
18
- --avatar-shadow: 0px 0px 0px 2px #0d1117;
22
+ --avatar-shadow: 0 0 0 2px #0d1117;
19
23
  --avatarStack-fade-bgColor-default: #3d444d;
20
24
  --avatarStack-fade-bgColor-muted: #2a313c;
21
25
  --bgColor-accent-emphasis: #1f6feb; /** Strong accent background for active states and focused states */
@@ -62,8 +66,8 @@
62
66
  --borderColor-transparent: #00000000; /** Fully transparent border */
63
67
  --button-danger-bgColor-hover: #b62324;
64
68
  --button-danger-iconColor-rest: var(--button-danger-fgColor-rest);
65
- --button-danger-shadow-selected: 0px 0px 0px 0px #000000;
66
- --button-default-shadow-resting: 0px 0px 0px 0px #000000;
69
+ --button-danger-shadow-selected: 0 0 0 0 #00000000;
70
+ --button-default-shadow-resting: 0 0 0 0 #00000000;
67
71
  --button-inactive-bgColor: #262c36;
68
72
  --button-inactive-fgColor: #9198a1;
69
73
  --button-invisible-bgColor-disabled: #00000000;
@@ -72,8 +76,8 @@
72
76
  --button-outline-fgColor-disabled: #4493f880;
73
77
  --button-outline-fgColor-hover: #58a6ff;
74
78
  --button-outline-fgColor-rest: #388bfd;
75
- --button-outline-shadow-selected: 0px 0px 0px 0px #000000;
76
- --button-primary-shadow-selected: 0px 0px 0px 0px #000000;
79
+ --button-outline-shadow-selected: 0 0 0 0 #00000000;
80
+ --button-primary-shadow-selected: 0 0 0 0 #00000000;
77
81
  --button-star-iconColor: #e3b341;
78
82
  --buttonCounter-danger-bgColor-rest: #49020233;
79
83
  --buttonCounter-default-bgColor-rest: #2f3742;
@@ -817,11 +821,11 @@
817
821
  --reactionButton-selected-fgColor-rest: var(--fgColor-link);
818
822
  --selectMenu-borderColor: var(--borderColor-default);
819
823
  --selection-bgColor: #1f6febb3; /** Background color for text selection highlights */
820
- --shadow-floating-legacy: 0px 6px 12px -3px #01040966, 0px 6px 18px 0px #01040966;
821
- --shadow-inset: inset 0px 1px 0px 0px #0104093d;
822
- --shadow-resting-medium: 0px 1px 1px 0px #01040966, 0px 3px 6px 0px #010409cc;
823
- --shadow-resting-small: 0px 1px 1px 0px #01040999, 0px 1px 3px 0px #01040999;
824
- --shadow-resting-xsmall: 0px 1px 1px 0px #010409cc;
824
+ --shadow-floating-legacy: 0 6px 12px -3px #01040966, 0 6px 18px 0 #01040966; /** Legacy floating shadow for backward compatibility */
825
+ --shadow-inset: inset 0 1px 0 0 #0104093d; /** Inset shadow for recessed elements */
826
+ --shadow-resting-medium: 0 1px 1px 0 #01040966, 0 3px 6px 0 #010409cc; /** Medium resting shadow for cards and elevated surfaces */
827
+ --shadow-resting-small: 0 1px 1px 0 #01040999, 0 1px 3px 0 #01040999; /** Small resting shadow for buttons and interactive elements */
828
+ --shadow-resting-xsmall: 0 1px 1px 0 #010409cc; /** Extra small resting shadow for minimal elevation */
825
829
  --tooltip-bgColor: var(--bgColor-emphasis);
826
830
  --treeViewItem-leadingVisual-iconColor-rest: var(--fgColor-muted);
827
831
  --underlineNav-iconColor-rest: var(--fgColor-muted);
@@ -886,10 +890,10 @@
886
890
  --buttonKeybindingHint-danger-borderColor-disabled: var(--buttonKeybindingHint-default-borderColor-disabled);
887
891
  --buttonKeybindingHint-danger-borderColor-rest: var(--buttonKeybindingHint-default-borderColor-rest);
888
892
  --buttonKeybindingHint-danger-fgColor-disabled: var(--buttonKeybindingHint-default-fgColor-disabled);
889
- --shadow-floating-large: 0px 0px 0px 1px #3d444d, 0px 24px 48px 0px #010409; /** Large floating shadow for modals and dialogs */
890
- --shadow-floating-medium: 0px 0px 0px 1px #3d444d, 0px 8px 16px -4px #01040966, 0px 4px 32px -4px #01040966, 0px 24px 48px -12px #01040966, 0px 48px 96px -24px #01040966;
891
- --shadow-floating-small: 0px 0px 0px 1px #3d444d, 0px 6px 12px -3px #01040966, 0px 6px 18px 0px #01040966; /** Small floating shadow for dropdowns, tooltips, and small overlays */
892
- --shadow-floating-xlarge: 0px 0px 0px 1px #3d444d, 0px 32px 64px 0px #010409;
893
+ --shadow-floating-large: 0 0 0 1px #3d444d, 0 24px 48px 0 #010409; /** Large floating shadow for modals and dialogs */
894
+ --shadow-floating-medium: 0 0 0 1px #3d444d, 0 8px 16px -4px #01040966, 0 4px 32px -4px #01040966, 0 24px 48px -12px #01040966, 0 48px 96px -24px #01040966; /** Medium floating shadow for popovers and action menus */
895
+ --shadow-floating-small: 0 0 0 1px #3d444d, 0 6px 12px -3px #01040966, 0 6px 18px 0 #01040966; /** Small floating shadow for dropdowns, tooltips, and small overlays */
896
+ --shadow-floating-xlarge: 0 0 0 1px #3d444d, 0 32px 64px 0 #010409; /** Extra large floating shadow for full-screen overlays and sheets */
893
897
  --underlineNav-borderColor-hover: var(--borderColor-neutral-muted);
894
898
  --button-danger-borderColor-active: var(--button-danger-borderColor-hover);
895
899
  --button-outline-borderColor-hover: var(--button-default-borderColor-hover);
@@ -912,7 +916,7 @@
912
916
  --control-checked-bgColor-hover: #2a7aef;
913
917
  --fgColor-accent: #4493f8; /** Accent text for links and interactive elements */
914
918
  --reactionButton-selected-bgColor-hover: #3a8cfd5c;
915
- --avatar-shadow: 0px 0px 0px 2px #0d1117;
919
+ --avatar-shadow: 0 0 0 2px #0d1117;
916
920
  --avatarStack-fade-bgColor-default: #3d444d;
917
921
  --avatarStack-fade-bgColor-muted: #2a313c;
918
922
  --bgColor-accent-emphasis: #1f6feb; /** Strong accent background for active states and focused states */
@@ -959,8 +963,8 @@
959
963
  --borderColor-transparent: #00000000; /** Fully transparent border */
960
964
  --button-danger-bgColor-hover: #b62324;
961
965
  --button-danger-iconColor-rest: var(--button-danger-fgColor-rest);
962
- --button-danger-shadow-selected: 0px 0px 0px 0px #000000;
963
- --button-default-shadow-resting: 0px 0px 0px 0px #000000;
966
+ --button-danger-shadow-selected: 0 0 0 0 #00000000;
967
+ --button-default-shadow-resting: 0 0 0 0 #00000000;
964
968
  --button-inactive-bgColor: #262c36;
965
969
  --button-inactive-fgColor: #9198a1;
966
970
  --button-invisible-bgColor-disabled: #00000000;
@@ -969,8 +973,8 @@
969
973
  --button-outline-fgColor-disabled: #4493f880;
970
974
  --button-outline-fgColor-hover: #58a6ff;
971
975
  --button-outline-fgColor-rest: #388bfd;
972
- --button-outline-shadow-selected: 0px 0px 0px 0px #000000;
973
- --button-primary-shadow-selected: 0px 0px 0px 0px #000000;
976
+ --button-outline-shadow-selected: 0 0 0 0 #00000000;
977
+ --button-primary-shadow-selected: 0 0 0 0 #00000000;
974
978
  --button-star-iconColor: #e3b341;
975
979
  --buttonCounter-danger-bgColor-rest: #49020233;
976
980
  --buttonCounter-default-bgColor-rest: #2f3742;
@@ -1714,11 +1718,11 @@
1714
1718
  --reactionButton-selected-fgColor-rest: var(--fgColor-link);
1715
1719
  --selectMenu-borderColor: var(--borderColor-default);
1716
1720
  --selection-bgColor: #1f6febb3; /** Background color for text selection highlights */
1717
- --shadow-floating-legacy: 0px 6px 12px -3px #01040966, 0px 6px 18px 0px #01040966;
1718
- --shadow-inset: inset 0px 1px 0px 0px #0104093d;
1719
- --shadow-resting-medium: 0px 1px 1px 0px #01040966, 0px 3px 6px 0px #010409cc;
1720
- --shadow-resting-small: 0px 1px 1px 0px #01040999, 0px 1px 3px 0px #01040999;
1721
- --shadow-resting-xsmall: 0px 1px 1px 0px #010409cc;
1721
+ --shadow-floating-legacy: 0 6px 12px -3px #01040966, 0 6px 18px 0 #01040966; /** Legacy floating shadow for backward compatibility */
1722
+ --shadow-inset: inset 0 1px 0 0 #0104093d; /** Inset shadow for recessed elements */
1723
+ --shadow-resting-medium: 0 1px 1px 0 #01040966, 0 3px 6px 0 #010409cc; /** Medium resting shadow for cards and elevated surfaces */
1724
+ --shadow-resting-small: 0 1px 1px 0 #01040999, 0 1px 3px 0 #01040999; /** Small resting shadow for buttons and interactive elements */
1725
+ --shadow-resting-xsmall: 0 1px 1px 0 #010409cc; /** Extra small resting shadow for minimal elevation */
1722
1726
  --tooltip-bgColor: var(--bgColor-emphasis);
1723
1727
  --treeViewItem-leadingVisual-iconColor-rest: var(--fgColor-muted);
1724
1728
  --underlineNav-iconColor-rest: var(--fgColor-muted);
@@ -1783,10 +1787,10 @@
1783
1787
  --buttonKeybindingHint-danger-borderColor-disabled: var(--buttonKeybindingHint-default-borderColor-disabled);
1784
1788
  --buttonKeybindingHint-danger-borderColor-rest: var(--buttonKeybindingHint-default-borderColor-rest);
1785
1789
  --buttonKeybindingHint-danger-fgColor-disabled: var(--buttonKeybindingHint-default-fgColor-disabled);
1786
- --shadow-floating-large: 0px 0px 0px 1px #3d444d, 0px 24px 48px 0px #010409; /** Large floating shadow for modals and dialogs */
1787
- --shadow-floating-medium: 0px 0px 0px 1px #3d444d, 0px 8px 16px -4px #01040966, 0px 4px 32px -4px #01040966, 0px 24px 48px -12px #01040966, 0px 48px 96px -24px #01040966;
1788
- --shadow-floating-small: 0px 0px 0px 1px #3d444d, 0px 6px 12px -3px #01040966, 0px 6px 18px 0px #01040966; /** Small floating shadow for dropdowns, tooltips, and small overlays */
1789
- --shadow-floating-xlarge: 0px 0px 0px 1px #3d444d, 0px 32px 64px 0px #010409;
1790
+ --shadow-floating-large: 0 0 0 1px #3d444d, 0 24px 48px 0 #010409; /** Large floating shadow for modals and dialogs */
1791
+ --shadow-floating-medium: 0 0 0 1px #3d444d, 0 8px 16px -4px #01040966, 0 4px 32px -4px #01040966, 0 24px 48px -12px #01040966, 0 48px 96px -24px #01040966; /** Medium floating shadow for popovers and action menus */
1792
+ --shadow-floating-small: 0 0 0 1px #3d444d, 0 6px 12px -3px #01040966, 0 6px 18px 0 #01040966; /** Small floating shadow for dropdowns, tooltips, and small overlays */
1793
+ --shadow-floating-xlarge: 0 0 0 1px #3d444d, 0 32px 64px 0 #010409; /** Extra large floating shadow for full-screen overlays and sheets */
1790
1794
  --underlineNav-borderColor-hover: var(--borderColor-neutral-muted);
1791
1795
  --button-danger-borderColor-active: var(--button-danger-borderColor-hover);
1792
1796
  --button-outline-borderColor-hover: var(--button-default-borderColor-hover);
@@ -1,3 +1,7 @@
1
+ /**
2
+ * @spec See /DESIGN_TOKENS_SPEC.md for naming logic and semantic pairings.
3
+ * @rule Never use raw values (hex/px). Use semantic tokens ONLY.
4
+ */
1
5
  [data-color-mode="dark"][data-dark-theme="dark"],
2
6
  [data-color-mode="auto"][data-light-theme="dark"] {
3
7
  --button-danger-fgColor-rest: #fa5e55;
@@ -11,7 +15,7 @@
11
15
  --control-checked-bgColor-hover: #2a7aef;
12
16
  --fgColor-accent: #4493f8; /** Accent text for links and interactive elements */
13
17
  --reactionButton-selected-bgColor-hover: #3a8cfd5c;
14
- --avatar-shadow: 0px 0px 0px 2px #0d1117;
18
+ --avatar-shadow: 0 0 0 2px #0d1117;
15
19
  --avatarStack-fade-bgColor-default: #3d444d;
16
20
  --avatarStack-fade-bgColor-muted: #2a313c;
17
21
  --bgColor-accent-emphasis: #1f6feb; /** Strong accent background for active states and focused states */
@@ -55,8 +59,8 @@
55
59
  --borderColor-transparent: #00000000; /** Fully transparent border */
56
60
  --button-danger-bgColor-hover: #b62324;
57
61
  --button-danger-iconColor-rest: var(--button-danger-fgColor-rest);
58
- --button-danger-shadow-selected: 0px 0px 0px 0px #000000;
59
- --button-default-shadow-resting: 0px 0px 0px 0px #000000;
62
+ --button-danger-shadow-selected: 0 0 0 0 #00000000;
63
+ --button-default-shadow-resting: 0 0 0 0 #00000000;
60
64
  --button-inactive-bgColor: #262c36;
61
65
  --button-inactive-fgColor: #9198a1;
62
66
  --button-invisible-bgColor-disabled: #00000000;
@@ -66,8 +70,8 @@
66
70
  --button-outline-fgColor-disabled: #4493f880;
67
71
  --button-outline-fgColor-hover: #58a6ff;
68
72
  --button-outline-fgColor-rest: #388bfd;
69
- --button-outline-shadow-selected: 0px 0px 0px 0px #000000;
70
- --button-primary-shadow-selected: 0px 0px 0px 0px #000000;
73
+ --button-outline-shadow-selected: 0 0 0 0 #00000000;
74
+ --button-primary-shadow-selected: 0 0 0 0 #00000000;
71
75
  --button-star-iconColor: #e3b341;
72
76
  --buttonCounter-danger-bgColor-rest: #49020233;
73
77
  --buttonCounter-default-bgColor-rest: #2f3742;
@@ -815,11 +819,11 @@
815
819
  --reactionButton-selected-fgColor-rest: var(--fgColor-link);
816
820
  --selectMenu-borderColor: var(--borderColor-default);
817
821
  --selection-bgColor: #1f6febb3; /** Background color for text selection highlights */
818
- --shadow-floating-legacy: 0px 6px 12px -3px #01040966, 0px 6px 18px 0px #01040966;
819
- --shadow-inset: inset 0px 1px 0px 0px #0104093d;
820
- --shadow-resting-medium: 0px 1px 1px 0px #01040966, 0px 3px 6px 0px #010409cc;
821
- --shadow-resting-small: 0px 1px 1px 0px #01040999, 0px 1px 3px 0px #01040999;
822
- --shadow-resting-xsmall: 0px 1px 1px 0px #010409cc;
822
+ --shadow-floating-legacy: 0 6px 12px -3px #01040966, 0 6px 18px 0 #01040966; /** Legacy floating shadow for backward compatibility */
823
+ --shadow-inset: inset 0 1px 0 0 #0104093d; /** Inset shadow for recessed elements */
824
+ --shadow-resting-medium: 0 1px 1px 0 #01040966, 0 3px 6px 0 #010409cc; /** Medium resting shadow for cards and elevated surfaces */
825
+ --shadow-resting-small: 0 1px 1px 0 #01040999, 0 1px 3px 0 #01040999; /** Small resting shadow for buttons and interactive elements */
826
+ --shadow-resting-xsmall: 0 1px 1px 0 #010409cc; /** Extra small resting shadow for minimal elevation */
823
827
  --tooltip-bgColor: var(--bgColor-emphasis);
824
828
  --treeViewItem-leadingVisual-iconColor-rest: var(--fgColor-muted);
825
829
  --underlineNav-iconColor-rest: var(--fgColor-muted);
@@ -886,10 +890,10 @@
886
890
  --buttonKeybindingHint-danger-borderColor-disabled: var(--buttonKeybindingHint-default-borderColor-disabled);
887
891
  --buttonKeybindingHint-danger-borderColor-rest: var(--buttonKeybindingHint-default-borderColor-rest);
888
892
  --buttonKeybindingHint-danger-fgColor-disabled: var(--buttonKeybindingHint-default-fgColor-disabled);
889
- --shadow-floating-large: 0px 0px 0px 1px #3d444d, 0px 24px 48px 0px #010409; /** Large floating shadow for modals and dialogs */
890
- --shadow-floating-medium: 0px 0px 0px 1px #3d444d, 0px 8px 16px -4px #01040966, 0px 4px 32px -4px #01040966, 0px 24px 48px -12px #01040966, 0px 48px 96px -24px #01040966;
891
- --shadow-floating-small: 0px 0px 0px 1px #3d444d, 0px 6px 12px -3px #01040966, 0px 6px 18px 0px #01040966; /** Small floating shadow for dropdowns, tooltips, and small overlays */
892
- --shadow-floating-xlarge: 0px 0px 0px 1px #3d444d, 0px 32px 64px 0px #010409;
893
+ --shadow-floating-large: 0 0 0 1px #3d444d, 0 24px 48px 0 #010409; /** Large floating shadow for modals and dialogs */
894
+ --shadow-floating-medium: 0 0 0 1px #3d444d, 0 8px 16px -4px #01040966, 0 4px 32px -4px #01040966, 0 24px 48px -12px #01040966, 0 48px 96px -24px #01040966; /** Medium floating shadow for popovers and action menus */
895
+ --shadow-floating-small: 0 0 0 1px #3d444d, 0 6px 12px -3px #01040966, 0 6px 18px 0 #01040966; /** Small floating shadow for dropdowns, tooltips, and small overlays */
896
+ --shadow-floating-xlarge: 0 0 0 1px #3d444d, 0 32px 64px 0 #010409; /** Extra large floating shadow for full-screen overlays and sheets */
893
897
  --underlineNav-borderColor-hover: var(--borderColor-neutral-muted);
894
898
  --button-danger-borderColor-active: var(--button-danger-borderColor-hover);
895
899
  --button-outline-borderColor-hover: var(--button-default-borderColor-hover);
@@ -908,7 +912,7 @@
908
912
  --control-checked-bgColor-hover: #2a7aef;
909
913
  --fgColor-accent: #4493f8; /** Accent text for links and interactive elements */
910
914
  --reactionButton-selected-bgColor-hover: #3a8cfd5c;
911
- --avatar-shadow: 0px 0px 0px 2px #0d1117;
915
+ --avatar-shadow: 0 0 0 2px #0d1117;
912
916
  --avatarStack-fade-bgColor-default: #3d444d;
913
917
  --avatarStack-fade-bgColor-muted: #2a313c;
914
918
  --bgColor-accent-emphasis: #1f6feb; /** Strong accent background for active states and focused states */
@@ -952,8 +956,8 @@
952
956
  --borderColor-transparent: #00000000; /** Fully transparent border */
953
957
  --button-danger-bgColor-hover: #b62324;
954
958
  --button-danger-iconColor-rest: var(--button-danger-fgColor-rest);
955
- --button-danger-shadow-selected: 0px 0px 0px 0px #000000;
956
- --button-default-shadow-resting: 0px 0px 0px 0px #000000;
959
+ --button-danger-shadow-selected: 0 0 0 0 #00000000;
960
+ --button-default-shadow-resting: 0 0 0 0 #00000000;
957
961
  --button-inactive-bgColor: #262c36;
958
962
  --button-inactive-fgColor: #9198a1;
959
963
  --button-invisible-bgColor-disabled: #00000000;
@@ -963,8 +967,8 @@
963
967
  --button-outline-fgColor-disabled: #4493f880;
964
968
  --button-outline-fgColor-hover: #58a6ff;
965
969
  --button-outline-fgColor-rest: #388bfd;
966
- --button-outline-shadow-selected: 0px 0px 0px 0px #000000;
967
- --button-primary-shadow-selected: 0px 0px 0px 0px #000000;
970
+ --button-outline-shadow-selected: 0 0 0 0 #00000000;
971
+ --button-primary-shadow-selected: 0 0 0 0 #00000000;
968
972
  --button-star-iconColor: #e3b341;
969
973
  --buttonCounter-danger-bgColor-rest: #49020233;
970
974
  --buttonCounter-default-bgColor-rest: #2f3742;
@@ -1712,11 +1716,11 @@
1712
1716
  --reactionButton-selected-fgColor-rest: var(--fgColor-link);
1713
1717
  --selectMenu-borderColor: var(--borderColor-default);
1714
1718
  --selection-bgColor: #1f6febb3; /** Background color for text selection highlights */
1715
- --shadow-floating-legacy: 0px 6px 12px -3px #01040966, 0px 6px 18px 0px #01040966;
1716
- --shadow-inset: inset 0px 1px 0px 0px #0104093d;
1717
- --shadow-resting-medium: 0px 1px 1px 0px #01040966, 0px 3px 6px 0px #010409cc;
1718
- --shadow-resting-small: 0px 1px 1px 0px #01040999, 0px 1px 3px 0px #01040999;
1719
- --shadow-resting-xsmall: 0px 1px 1px 0px #010409cc;
1719
+ --shadow-floating-legacy: 0 6px 12px -3px #01040966, 0 6px 18px 0 #01040966; /** Legacy floating shadow for backward compatibility */
1720
+ --shadow-inset: inset 0 1px 0 0 #0104093d; /** Inset shadow for recessed elements */
1721
+ --shadow-resting-medium: 0 1px 1px 0 #01040966, 0 3px 6px 0 #010409cc; /** Medium resting shadow for cards and elevated surfaces */
1722
+ --shadow-resting-small: 0 1px 1px 0 #01040999, 0 1px 3px 0 #01040999; /** Small resting shadow for buttons and interactive elements */
1723
+ --shadow-resting-xsmall: 0 1px 1px 0 #010409cc; /** Extra small resting shadow for minimal elevation */
1720
1724
  --tooltip-bgColor: var(--bgColor-emphasis);
1721
1725
  --treeViewItem-leadingVisual-iconColor-rest: var(--fgColor-muted);
1722
1726
  --underlineNav-iconColor-rest: var(--fgColor-muted);
@@ -1783,10 +1787,10 @@
1783
1787
  --buttonKeybindingHint-danger-borderColor-disabled: var(--buttonKeybindingHint-default-borderColor-disabled);
1784
1788
  --buttonKeybindingHint-danger-borderColor-rest: var(--buttonKeybindingHint-default-borderColor-rest);
1785
1789
  --buttonKeybindingHint-danger-fgColor-disabled: var(--buttonKeybindingHint-default-fgColor-disabled);
1786
- --shadow-floating-large: 0px 0px 0px 1px #3d444d, 0px 24px 48px 0px #010409; /** Large floating shadow for modals and dialogs */
1787
- --shadow-floating-medium: 0px 0px 0px 1px #3d444d, 0px 8px 16px -4px #01040966, 0px 4px 32px -4px #01040966, 0px 24px 48px -12px #01040966, 0px 48px 96px -24px #01040966;
1788
- --shadow-floating-small: 0px 0px 0px 1px #3d444d, 0px 6px 12px -3px #01040966, 0px 6px 18px 0px #01040966; /** Small floating shadow for dropdowns, tooltips, and small overlays */
1789
- --shadow-floating-xlarge: 0px 0px 0px 1px #3d444d, 0px 32px 64px 0px #010409;
1790
+ --shadow-floating-large: 0 0 0 1px #3d444d, 0 24px 48px 0 #010409; /** Large floating shadow for modals and dialogs */
1791
+ --shadow-floating-medium: 0 0 0 1px #3d444d, 0 8px 16px -4px #01040966, 0 4px 32px -4px #01040966, 0 24px 48px -12px #01040966, 0 48px 96px -24px #01040966; /** Medium floating shadow for popovers and action menus */
1792
+ --shadow-floating-small: 0 0 0 1px #3d444d, 0 6px 12px -3px #01040966, 0 6px 18px 0 #01040966; /** Small floating shadow for dropdowns, tooltips, and small overlays */
1793
+ --shadow-floating-xlarge: 0 0 0 1px #3d444d, 0 32px 64px 0 #010409; /** Extra large floating shadow for full-screen overlays and sheets */
1790
1794
  --underlineNav-borderColor-hover: var(--borderColor-neutral-muted);
1791
1795
  --button-danger-borderColor-active: var(--button-danger-borderColor-hover);
1792
1796
  --button-outline-borderColor-hover: var(--button-default-borderColor-hover);
@@ -1,3 +1,7 @@
1
+ /**
2
+ * @spec See /DESIGN_TOKENS_SPEC.md for naming logic and semantic pairings.
3
+ * @rule Never use raw values (hex/px). Use semantic tokens ONLY.
4
+ */
1
5
  [data-color-mode="light"][data-light-theme="light_colorblind_high_contrast"],
2
6
  [data-color-mode="auto"][data-light-theme="light_colorblind_high_contrast"] {
3
7
  --button-outline-bgColor-active: #033f9d;
@@ -60,7 +64,7 @@
60
64
  --borderColor-transparent: #ffffff00; /** Fully transparent border */
61
65
  --button-danger-bgColor-active: #702c00;
62
66
  --button-danger-borderColor-hover: #5b2300;
63
- --button-danger-shadow-selected: inset 0px 1px 0px 0px #43001133;
67
+ --button-danger-shadow-selected: inset 0 1px 0 0 #43001133;
64
68
  --button-inactive-bgColor: #e6eaef;
65
69
  --button-inactive-fgColor: #454c54;
66
70
  --button-invisible-bgColor-disabled: #ffffff00;
@@ -68,10 +72,10 @@
68
72
  --button-invisible-fgColor-hover: #393f46;
69
73
  --button-invisible-iconColor-hover: #393f46;
70
74
  --button-outline-borderColor-hover: #022f7a;
71
- --button-outline-shadow-selected: inset 0px 1px 0px 0px #021a4a33;
75
+ --button-outline-shadow-selected: inset 0 1px 0 0 #021a4a33;
72
76
  --button-primary-borderColor-disabled: var(--button-primary-bgColor-disabled);
73
77
  --button-primary-borderColor-rest: #022f7a;
74
- --button-primary-shadow-selected: inset 0px 1px 0px 0px #00230b4d;
78
+ --button-primary-shadow-selected: inset 0 1px 0 0 #00230b4d;
75
79
  --button-star-iconColor: #d5a824;
76
80
  --buttonCounter-default-bgColor-rest: #c8d1da;
77
81
  --buttonCounter-outline-fgColor-rest: #023b95;
@@ -620,13 +624,13 @@
620
624
  --reactionButton-selected-fgColor-hover: #023b95;
621
625
  --selectMenu-bgColor-active: #9cd7ff;
622
626
  --selectMenu-borderColor: #ffffff00;
623
- --shadow-floating-legacy: 0px 6px 12px -3px #25292e0a, 0px 6px 18px 0px #25292e1f;
624
- --shadow-resting-medium: 0px 1px 1px 0px #25292e1a, 0px 3px 6px 0px #25292e1f;
627
+ --shadow-floating-legacy: 0 6px 12px -3px #25292e0a, 0 6px 18px 0 #25292e1f; /** Legacy floating shadow for backward compatibility */
628
+ --shadow-resting-medium: 0 1px 1px 0 #25292e1a, 0 3px 6px 0 #25292e1f; /** Medium resting shadow for cards and elevated surfaces */
625
629
  --skeletonLoader-bgColor: #dae0e7;
626
630
  --treeViewItem-leadingVisual-iconColor-rest: #368cf9;
627
631
  --underlineNav-borderColor-active: #cd3425;
628
632
  --avatar-bgColor: #ffffff;
629
- --avatar-shadow: 0px 0px 0px 2px #ffffffcc;
633
+ --avatar-shadow: 0 0 0 2px #ffffffcc;
630
634
  --bgColor-black: #010409; /** Pure black background */
631
635
  --bgColor-closed-emphasis: var(--bgColor-neutral-emphasis); /** Strong background for closed state badges and labels */
632
636
  --bgColor-closed-muted: var(--bgColor-neutral-muted); /** Subtle background for closed state indicators (issues, PRs) */
@@ -674,7 +678,7 @@
674
678
  --button-default-bgColor-rest: var(--control-bgColor-rest);
675
679
  --button-default-bgColor-selected: var(--control-bgColor-active);
676
680
  --button-default-fgColor-rest: var(--control-fgColor-rest);
677
- --button-default-shadow-resting: 0px 1px 0px 0px #0104090a;
681
+ --button-default-shadow-resting: 0 1px 0 0 #0104090a;
678
682
  --button-invisible-bgColor-active: var(--control-transparent-bgColor-active);
679
683
  --button-invisible-bgColor-hover: var(--control-transparent-bgColor-hover);
680
684
  --button-invisible-bgColor-rest: var(--control-transparent-bgColor-rest);
@@ -803,9 +807,9 @@
803
807
  --progressBar-bgColor-sponsors: var(--bgColor-sponsors-emphasis);
804
808
  --progressBar-bgColor-success: var(--bgColor-success-emphasis);
805
809
  --selection-bgColor: #0349b433; /** Background color for text selection highlights */
806
- --shadow-inset: inset 0px 1px 0px 0px #0104090a;
807
- --shadow-resting-small: 0px 1px 1px 0px #0104090f, 0px 1px 3px 0px #0104090f;
808
- --shadow-resting-xsmall: 0px 1px 1px 0px #0104090f;
810
+ --shadow-inset: inset 0 1px 0 0 #0104090a; /** Inset shadow for recessed elements */
811
+ --shadow-resting-small: 0 1px 1px 0 #0104090a, 0 1px 2px 0 #01040908; /** Small resting shadow for buttons and interactive elements */
812
+ --shadow-resting-xsmall: 0 1px 1px 0 #0104090d; /** Extra small resting shadow for minimal elevation */
809
813
  --sideNav-bgColor-selected: #ffffff;
810
814
  --timelineBadge-bgColor: var(--bgColor-muted);
811
815
  --tooltip-bgColor: var(--bgColor-emphasis);
@@ -882,10 +886,10 @@
882
886
  --focus-outline: 2px solid #0349b4; /** Focus ring outline for keyboard navigation and accessibility. */
883
887
  --progressBar-track-bgColor: var(--bgColor-default);
884
888
  --reactionButton-selected-fgColor-rest: var(--fgColor-link);
885
- --shadow-floating-large: 0px 0px 0px 1px #454c54, 0px 40px 80px 0px #25292e3d; /** Large floating shadow for modals and dialogs */
886
- --shadow-floating-medium: 0px 0px 0px 1px #454c54, 0px 8px 16px -4px #25292e14, 0px 4px 32px -4px #25292e14, 0px 24px 48px -12px #25292e14, 0px 48px 96px -24px #25292e14;
887
- --shadow-floating-small: 0px 0px 0px 1px #454c5480, 0px 6px 12px -3px #25292e0a, 0px 6px 18px 0px #25292e1f; /** Small floating shadow for dropdowns, tooltips, and small overlays */
888
- --shadow-floating-xlarge: 0px 0px 0px 1px #454c54, 0px 56px 112px 0px #25292e52;
889
+ --shadow-floating-large: 0 0 0 1px #454c54, 0 40px 80px 0 #25292e3d; /** Large floating shadow for modals and dialogs */
890
+ --shadow-floating-medium: 0 0 0 1px #454c54, 0 8px 16px -4px #25292e14, 0 4px 32px -4px #25292e14, 0 24px 48px -12px #25292e14, 0 48px 96px -24px #25292e14; /** Medium floating shadow for popovers and action menus */
891
+ --shadow-floating-small: 0 0 0 1px #454c5480, 0 6px 12px -3px #25292e0a, 0 6px 18px 0 #25292e1f; /** Small floating shadow for dropdowns, tooltips, and small overlays */
892
+ --shadow-floating-xlarge: 0 0 0 1px #454c54, 0 56px 112px 0 #25292e52; /** Extra large floating shadow for full-screen overlays and sheets */
889
893
  --tooltip-fgColor: var(--fgColor-onEmphasis);
890
894
  --underlineNav-borderColor-hover: var(--borderColor-muted);
891
895
  --border-neutral-muted: 0.0625rem solid #454c54;
@@ -957,7 +961,7 @@
957
961
  --borderColor-transparent: #ffffff00; /** Fully transparent border */
958
962
  --button-danger-bgColor-active: #702c00;
959
963
  --button-danger-borderColor-hover: #5b2300;
960
- --button-danger-shadow-selected: inset 0px 1px 0px 0px #43001133;
964
+ --button-danger-shadow-selected: inset 0 1px 0 0 #43001133;
961
965
  --button-inactive-bgColor: #e6eaef;
962
966
  --button-inactive-fgColor: #454c54;
963
967
  --button-invisible-bgColor-disabled: #ffffff00;
@@ -965,10 +969,10 @@
965
969
  --button-invisible-fgColor-hover: #393f46;
966
970
  --button-invisible-iconColor-hover: #393f46;
967
971
  --button-outline-borderColor-hover: #022f7a;
968
- --button-outline-shadow-selected: inset 0px 1px 0px 0px #021a4a33;
972
+ --button-outline-shadow-selected: inset 0 1px 0 0 #021a4a33;
969
973
  --button-primary-borderColor-disabled: var(--button-primary-bgColor-disabled);
970
974
  --button-primary-borderColor-rest: #022f7a;
971
- --button-primary-shadow-selected: inset 0px 1px 0px 0px #00230b4d;
975
+ --button-primary-shadow-selected: inset 0 1px 0 0 #00230b4d;
972
976
  --button-star-iconColor: #d5a824;
973
977
  --buttonCounter-default-bgColor-rest: #c8d1da;
974
978
  --buttonCounter-outline-fgColor-rest: #023b95;
@@ -1517,13 +1521,13 @@
1517
1521
  --reactionButton-selected-fgColor-hover: #023b95;
1518
1522
  --selectMenu-bgColor-active: #9cd7ff;
1519
1523
  --selectMenu-borderColor: #ffffff00;
1520
- --shadow-floating-legacy: 0px 6px 12px -3px #25292e0a, 0px 6px 18px 0px #25292e1f;
1521
- --shadow-resting-medium: 0px 1px 1px 0px #25292e1a, 0px 3px 6px 0px #25292e1f;
1524
+ --shadow-floating-legacy: 0 6px 12px -3px #25292e0a, 0 6px 18px 0 #25292e1f; /** Legacy floating shadow for backward compatibility */
1525
+ --shadow-resting-medium: 0 1px 1px 0 #25292e1a, 0 3px 6px 0 #25292e1f; /** Medium resting shadow for cards and elevated surfaces */
1522
1526
  --skeletonLoader-bgColor: #dae0e7;
1523
1527
  --treeViewItem-leadingVisual-iconColor-rest: #368cf9;
1524
1528
  --underlineNav-borderColor-active: #cd3425;
1525
1529
  --avatar-bgColor: #ffffff;
1526
- --avatar-shadow: 0px 0px 0px 2px #ffffffcc;
1530
+ --avatar-shadow: 0 0 0 2px #ffffffcc;
1527
1531
  --bgColor-black: #010409; /** Pure black background */
1528
1532
  --bgColor-closed-emphasis: var(--bgColor-neutral-emphasis); /** Strong background for closed state badges and labels */
1529
1533
  --bgColor-closed-muted: var(--bgColor-neutral-muted); /** Subtle background for closed state indicators (issues, PRs) */
@@ -1571,7 +1575,7 @@
1571
1575
  --button-default-bgColor-rest: var(--control-bgColor-rest);
1572
1576
  --button-default-bgColor-selected: var(--control-bgColor-active);
1573
1577
  --button-default-fgColor-rest: var(--control-fgColor-rest);
1574
- --button-default-shadow-resting: 0px 1px 0px 0px #0104090a;
1578
+ --button-default-shadow-resting: 0 1px 0 0 #0104090a;
1575
1579
  --button-invisible-bgColor-active: var(--control-transparent-bgColor-active);
1576
1580
  --button-invisible-bgColor-hover: var(--control-transparent-bgColor-hover);
1577
1581
  --button-invisible-bgColor-rest: var(--control-transparent-bgColor-rest);
@@ -1700,9 +1704,9 @@
1700
1704
  --progressBar-bgColor-sponsors: var(--bgColor-sponsors-emphasis);
1701
1705
  --progressBar-bgColor-success: var(--bgColor-success-emphasis);
1702
1706
  --selection-bgColor: #0349b433; /** Background color for text selection highlights */
1703
- --shadow-inset: inset 0px 1px 0px 0px #0104090a;
1704
- --shadow-resting-small: 0px 1px 1px 0px #0104090f, 0px 1px 3px 0px #0104090f;
1705
- --shadow-resting-xsmall: 0px 1px 1px 0px #0104090f;
1707
+ --shadow-inset: inset 0 1px 0 0 #0104090a; /** Inset shadow for recessed elements */
1708
+ --shadow-resting-small: 0 1px 1px 0 #0104090a, 0 1px 2px 0 #01040908; /** Small resting shadow for buttons and interactive elements */
1709
+ --shadow-resting-xsmall: 0 1px 1px 0 #0104090d; /** Extra small resting shadow for minimal elevation */
1706
1710
  --sideNav-bgColor-selected: #ffffff;
1707
1711
  --timelineBadge-bgColor: var(--bgColor-muted);
1708
1712
  --tooltip-bgColor: var(--bgColor-emphasis);
@@ -1779,10 +1783,10 @@
1779
1783
  --focus-outline: 2px solid #0349b4; /** Focus ring outline for keyboard navigation and accessibility. */
1780
1784
  --progressBar-track-bgColor: var(--bgColor-default);
1781
1785
  --reactionButton-selected-fgColor-rest: var(--fgColor-link);
1782
- --shadow-floating-large: 0px 0px 0px 1px #454c54, 0px 40px 80px 0px #25292e3d; /** Large floating shadow for modals and dialogs */
1783
- --shadow-floating-medium: 0px 0px 0px 1px #454c54, 0px 8px 16px -4px #25292e14, 0px 4px 32px -4px #25292e14, 0px 24px 48px -12px #25292e14, 0px 48px 96px -24px #25292e14;
1784
- --shadow-floating-small: 0px 0px 0px 1px #454c5480, 0px 6px 12px -3px #25292e0a, 0px 6px 18px 0px #25292e1f; /** Small floating shadow for dropdowns, tooltips, and small overlays */
1785
- --shadow-floating-xlarge: 0px 0px 0px 1px #454c54, 0px 56px 112px 0px #25292e52;
1786
+ --shadow-floating-large: 0 0 0 1px #454c54, 0 40px 80px 0 #25292e3d; /** Large floating shadow for modals and dialogs */
1787
+ --shadow-floating-medium: 0 0 0 1px #454c54, 0 8px 16px -4px #25292e14, 0 4px 32px -4px #25292e14, 0 24px 48px -12px #25292e14, 0 48px 96px -24px #25292e14; /** Medium floating shadow for popovers and action menus */
1788
+ --shadow-floating-small: 0 0 0 1px #454c5480, 0 6px 12px -3px #25292e0a, 0 6px 18px 0 #25292e1f; /** Small floating shadow for dropdowns, tooltips, and small overlays */
1789
+ --shadow-floating-xlarge: 0 0 0 1px #454c54, 0 56px 112px 0 #25292e52; /** Extra large floating shadow for full-screen overlays and sheets */
1786
1790
  --tooltip-fgColor: var(--fgColor-onEmphasis);
1787
1791
  --underlineNav-borderColor-hover: var(--borderColor-muted);
1788
1792
  --border-neutral-muted: 0.0625rem solid #454c54;
@@ -1,3 +1,7 @@
1
+ /**
2
+ * @spec See /DESIGN_TOKENS_SPEC.md for naming logic and semantic pairings.
3
+ * @rule Never use raw values (hex/px). Use semantic tokens ONLY.
4
+ */
1
5
  [data-color-mode="light"][data-light-theme="light_colorblind"],
2
6
  [data-color-mode="auto"][data-light-theme="light_colorblind"] {
3
7
  --button-outline-bgColor-active: #0757ba;
@@ -56,14 +60,14 @@
56
60
  --borderColor-success-muted: #ddf4ff; /** Subtle success border for positive feedback elements */
57
61
  --borderColor-transparent: #ffffff00; /** Fully transparent border */
58
62
  --button-danger-bgColor-active: #953800;
59
- --button-danger-shadow-selected: inset 0px 1px 0px 0px #47170033;
63
+ --button-danger-shadow-selected: inset 0 1px 0 0 #47170033;
60
64
  --button-inactive-bgColor: #e6eaef;
61
65
  --button-inactive-fgColor: #59636e;
62
66
  --button-invisible-bgColor-disabled: #ffffff00;
63
67
  --button-invisible-borderColor-disabled: #ffffff00;
64
- --button-outline-shadow-selected: inset 0px 1px 0px 0px #00215533;
68
+ --button-outline-shadow-selected: inset 0 1px 0 0 #00215533;
65
69
  --button-primary-borderColor-disabled: var(--button-primary-bgColor-disabled);
66
- --button-primary-shadow-selected: inset 0px 1px 0px 0px #0021554d;
70
+ --button-primary-shadow-selected: inset 0 1px 0 0 #0021554d;
67
71
  --button-star-iconColor: #eac54f;
68
72
  --buttonCounter-danger-fgColor-rest: #953800;
69
73
  --buttonCounter-outline-fgColor-rest: #0550ae;
@@ -633,14 +637,14 @@
633
637
  --reactionButton-selected-fgColor-hover: #0550ae;
634
638
  --selectMenu-bgColor-active: #b6e3ff;
635
639
  --selectMenu-borderColor: #ffffff00;
636
- --shadow-floating-legacy: 0px 6px 12px -3px #25292e0a, 0px 6px 18px 0px #25292e1f;
637
- --shadow-resting-medium: 0px 1px 1px 0px #25292e1a, 0px 3px 6px 0px #25292e1f;
640
+ --shadow-floating-legacy: 0 6px 12px -3px #25292e0a, 0 6px 18px 0 #25292e1f; /** Legacy floating shadow for backward compatibility */
641
+ --shadow-resting-medium: 0 1px 1px 0 #25292e1a, 0 3px 6px 0 #25292e1f; /** Medium resting shadow for cards and elevated surfaces */
638
642
  --skeletonLoader-bgColor: #818b981a;
639
643
  --topicTag-borderColor: #ffffff00;
640
644
  --treeViewItem-leadingVisual-iconColor-rest: #54aeff;
641
645
  --underlineNav-borderColor-active: #fd8c73;
642
646
  --avatar-bgColor: #ffffff;
643
- --avatar-shadow: 0px 0px 0px 2px #ffffffcc;
647
+ --avatar-shadow: 0 0 0 2px #ffffffcc;
644
648
  --bgColor-black: #1f2328; /** Pure black background */
645
649
  --bgColor-closed-emphasis: var(--bgColor-neutral-emphasis); /** Strong background for closed state badges and labels */
646
650
  --bgColor-closed-muted: var(--bgColor-neutral-muted); /** Subtle background for closed state indicators (issues, PRs) */
@@ -690,7 +694,7 @@
690
694
  --button-default-bgColor-rest: var(--control-bgColor-rest);
691
695
  --button-default-bgColor-selected: var(--control-bgColor-active);
692
696
  --button-default-fgColor-rest: var(--control-fgColor-rest);
693
- --button-default-shadow-resting: 0px 1px 0px 0px #1f23280a;
697
+ --button-default-shadow-resting: 0 1px 0 0 #1f23280a;
694
698
  --button-invisible-bgColor-active: var(--control-transparent-bgColor-active);
695
699
  --button-invisible-bgColor-hover: var(--control-transparent-bgColor-hover);
696
700
  --button-invisible-bgColor-rest: var(--control-transparent-bgColor-rest);
@@ -802,9 +806,9 @@
802
806
  --progressBar-bgColor-success: var(--bgColor-success-emphasis);
803
807
  --progressBar-track-bgColor: var(--borderColor-default);
804
808
  --selection-bgColor: #0969da33; /** Background color for text selection highlights */
805
- --shadow-inset: inset 0px 1px 0px 0px #1f23280a;
806
- --shadow-resting-small: 0px 1px 1px 0px #1f23280f, 0px 1px 3px 0px #1f23280f;
807
- --shadow-resting-xsmall: 0px 1px 1px 0px #1f23280f;
809
+ --shadow-inset: inset 0 1px 0 0 #1f23280a; /** Inset shadow for recessed elements */
810
+ --shadow-resting-small: 0 1px 1px 0 #1f23280a, 0 1px 2px 0 #1f232808; /** Small resting shadow for buttons and interactive elements */
811
+ --shadow-resting-xsmall: 0 1px 1px 0 #1f23280d; /** Extra small resting shadow for minimal elevation */
808
812
  --sideNav-bgColor-selected: #ffffff;
809
813
  --timelineBadge-bgColor: var(--bgColor-muted);
810
814
  --tooltip-bgColor: var(--bgColor-emphasis);
@@ -887,10 +891,10 @@
887
891
  --buttonKeybindingHint-danger-borderColor-disabled: var(--buttonKeybindingHint-default-borderColor-disabled);
888
892
  --buttonKeybindingHint-danger-borderColor-rest: var(--buttonKeybindingHint-default-borderColor-rest);
889
893
  --buttonKeybindingHint-danger-fgColor-disabled: var(--buttonKeybindingHint-default-fgColor-disabled);
890
- --shadow-floating-large: 0px 0px 0px 1px #d1d9e0, 0px 40px 80px 0px #25292e3d; /** Large floating shadow for modals and dialogs */
891
- --shadow-floating-medium: 0px 0px 0px 1px #d1d9e0, 0px 8px 16px -4px #25292e14, 0px 4px 32px -4px #25292e14, 0px 24px 48px -12px #25292e14, 0px 48px 96px -24px #25292e14;
892
- --shadow-floating-small: 0px 0px 0px 1px #d1d9e080, 0px 6px 12px -3px #25292e0a, 0px 6px 18px 0px #25292e1f; /** Small floating shadow for dropdowns, tooltips, and small overlays */
893
- --shadow-floating-xlarge: 0px 0px 0px 1px #d1d9e0, 0px 56px 112px 0px #25292e52;
894
+ --shadow-floating-large: 0 0 0 1px #d1d9e000, 0 40px 80px 0 #25292e3d; /** Large floating shadow for modals and dialogs */
895
+ --shadow-floating-medium: 0 0 0 1px #d1d9e000, 0 8px 16px -4px #25292e14, 0 4px 32px -4px #25292e14, 0 24px 48px -12px #25292e14, 0 48px 96px -24px #25292e14; /** Medium floating shadow for popovers and action menus */
896
+ --shadow-floating-small: 0 0 0 1px #d1d9e080, 0 6px 12px -3px #25292e0a, 0 6px 18px 0 #25292e1f; /** Small floating shadow for dropdowns, tooltips, and small overlays */
897
+ --shadow-floating-xlarge: 0 0 0 1px #d1d9e000, 0 56px 112px 0 #25292e52; /** Extra large floating shadow for full-screen overlays and sheets */
894
898
  --button-danger-borderColor-active: var(--button-danger-borderColor-hover);
895
899
  --button-outline-borderColor-hover: var(--button-primary-borderColor-hover);
896
900
  --button-outline-borderColor-active: var(--button-outline-borderColor-hover);
@@ -953,14 +957,14 @@
953
957
  --borderColor-success-muted: #ddf4ff; /** Subtle success border for positive feedback elements */
954
958
  --borderColor-transparent: #ffffff00; /** Fully transparent border */
955
959
  --button-danger-bgColor-active: #953800;
956
- --button-danger-shadow-selected: inset 0px 1px 0px 0px #47170033;
960
+ --button-danger-shadow-selected: inset 0 1px 0 0 #47170033;
957
961
  --button-inactive-bgColor: #e6eaef;
958
962
  --button-inactive-fgColor: #59636e;
959
963
  --button-invisible-bgColor-disabled: #ffffff00;
960
964
  --button-invisible-borderColor-disabled: #ffffff00;
961
- --button-outline-shadow-selected: inset 0px 1px 0px 0px #00215533;
965
+ --button-outline-shadow-selected: inset 0 1px 0 0 #00215533;
962
966
  --button-primary-borderColor-disabled: var(--button-primary-bgColor-disabled);
963
- --button-primary-shadow-selected: inset 0px 1px 0px 0px #0021554d;
967
+ --button-primary-shadow-selected: inset 0 1px 0 0 #0021554d;
964
968
  --button-star-iconColor: #eac54f;
965
969
  --buttonCounter-danger-fgColor-rest: #953800;
966
970
  --buttonCounter-outline-fgColor-rest: #0550ae;
@@ -1530,14 +1534,14 @@
1530
1534
  --reactionButton-selected-fgColor-hover: #0550ae;
1531
1535
  --selectMenu-bgColor-active: #b6e3ff;
1532
1536
  --selectMenu-borderColor: #ffffff00;
1533
- --shadow-floating-legacy: 0px 6px 12px -3px #25292e0a, 0px 6px 18px 0px #25292e1f;
1534
- --shadow-resting-medium: 0px 1px 1px 0px #25292e1a, 0px 3px 6px 0px #25292e1f;
1537
+ --shadow-floating-legacy: 0 6px 12px -3px #25292e0a, 0 6px 18px 0 #25292e1f; /** Legacy floating shadow for backward compatibility */
1538
+ --shadow-resting-medium: 0 1px 1px 0 #25292e1a, 0 3px 6px 0 #25292e1f; /** Medium resting shadow for cards and elevated surfaces */
1535
1539
  --skeletonLoader-bgColor: #818b981a;
1536
1540
  --topicTag-borderColor: #ffffff00;
1537
1541
  --treeViewItem-leadingVisual-iconColor-rest: #54aeff;
1538
1542
  --underlineNav-borderColor-active: #fd8c73;
1539
1543
  --avatar-bgColor: #ffffff;
1540
- --avatar-shadow: 0px 0px 0px 2px #ffffffcc;
1544
+ --avatar-shadow: 0 0 0 2px #ffffffcc;
1541
1545
  --bgColor-black: #1f2328; /** Pure black background */
1542
1546
  --bgColor-closed-emphasis: var(--bgColor-neutral-emphasis); /** Strong background for closed state badges and labels */
1543
1547
  --bgColor-closed-muted: var(--bgColor-neutral-muted); /** Subtle background for closed state indicators (issues, PRs) */
@@ -1587,7 +1591,7 @@
1587
1591
  --button-default-bgColor-rest: var(--control-bgColor-rest);
1588
1592
  --button-default-bgColor-selected: var(--control-bgColor-active);
1589
1593
  --button-default-fgColor-rest: var(--control-fgColor-rest);
1590
- --button-default-shadow-resting: 0px 1px 0px 0px #1f23280a;
1594
+ --button-default-shadow-resting: 0 1px 0 0 #1f23280a;
1591
1595
  --button-invisible-bgColor-active: var(--control-transparent-bgColor-active);
1592
1596
  --button-invisible-bgColor-hover: var(--control-transparent-bgColor-hover);
1593
1597
  --button-invisible-bgColor-rest: var(--control-transparent-bgColor-rest);
@@ -1699,9 +1703,9 @@
1699
1703
  --progressBar-bgColor-success: var(--bgColor-success-emphasis);
1700
1704
  --progressBar-track-bgColor: var(--borderColor-default);
1701
1705
  --selection-bgColor: #0969da33; /** Background color for text selection highlights */
1702
- --shadow-inset: inset 0px 1px 0px 0px #1f23280a;
1703
- --shadow-resting-small: 0px 1px 1px 0px #1f23280f, 0px 1px 3px 0px #1f23280f;
1704
- --shadow-resting-xsmall: 0px 1px 1px 0px #1f23280f;
1706
+ --shadow-inset: inset 0 1px 0 0 #1f23280a; /** Inset shadow for recessed elements */
1707
+ --shadow-resting-small: 0 1px 1px 0 #1f23280a, 0 1px 2px 0 #1f232808; /** Small resting shadow for buttons and interactive elements */
1708
+ --shadow-resting-xsmall: 0 1px 1px 0 #1f23280d; /** Extra small resting shadow for minimal elevation */
1705
1709
  --sideNav-bgColor-selected: #ffffff;
1706
1710
  --timelineBadge-bgColor: var(--bgColor-muted);
1707
1711
  --tooltip-bgColor: var(--bgColor-emphasis);
@@ -1784,10 +1788,10 @@
1784
1788
  --buttonKeybindingHint-danger-borderColor-disabled: var(--buttonKeybindingHint-default-borderColor-disabled);
1785
1789
  --buttonKeybindingHint-danger-borderColor-rest: var(--buttonKeybindingHint-default-borderColor-rest);
1786
1790
  --buttonKeybindingHint-danger-fgColor-disabled: var(--buttonKeybindingHint-default-fgColor-disabled);
1787
- --shadow-floating-large: 0px 0px 0px 1px #d1d9e0, 0px 40px 80px 0px #25292e3d; /** Large floating shadow for modals and dialogs */
1788
- --shadow-floating-medium: 0px 0px 0px 1px #d1d9e0, 0px 8px 16px -4px #25292e14, 0px 4px 32px -4px #25292e14, 0px 24px 48px -12px #25292e14, 0px 48px 96px -24px #25292e14;
1789
- --shadow-floating-small: 0px 0px 0px 1px #d1d9e080, 0px 6px 12px -3px #25292e0a, 0px 6px 18px 0px #25292e1f; /** Small floating shadow for dropdowns, tooltips, and small overlays */
1790
- --shadow-floating-xlarge: 0px 0px 0px 1px #d1d9e0, 0px 56px 112px 0px #25292e52;
1791
+ --shadow-floating-large: 0 0 0 1px #d1d9e000, 0 40px 80px 0 #25292e3d; /** Large floating shadow for modals and dialogs */
1792
+ --shadow-floating-medium: 0 0 0 1px #d1d9e000, 0 8px 16px -4px #25292e14, 0 4px 32px -4px #25292e14, 0 24px 48px -12px #25292e14, 0 48px 96px -24px #25292e14; /** Medium floating shadow for popovers and action menus */
1793
+ --shadow-floating-small: 0 0 0 1px #d1d9e080, 0 6px 12px -3px #25292e0a, 0 6px 18px 0 #25292e1f; /** Small floating shadow for dropdowns, tooltips, and small overlays */
1794
+ --shadow-floating-xlarge: 0 0 0 1px #d1d9e000, 0 56px 112px 0 #25292e52; /** Extra large floating shadow for full-screen overlays and sheets */
1791
1795
  --button-danger-borderColor-active: var(--button-danger-borderColor-hover);
1792
1796
  --button-outline-borderColor-hover: var(--button-primary-borderColor-hover);
1793
1797
  --button-outline-borderColor-active: var(--button-outline-borderColor-hover);