@primer/primitives 11.7.0-rc.9e55ef3b → 11.7.0

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 (80) hide show
  1. package/DESIGN_TOKENS_SPEC.md +6 -10
  2. package/dist/build/platforms/css.js +1 -0
  3. package/dist/css/functional/size/border.css +4 -2
  4. package/dist/css/functional/themes/dark-colorblind-high-contrast.css +6 -4
  5. package/dist/css/functional/themes/dark-colorblind.css +6 -4
  6. package/dist/css/functional/themes/dark-dimmed-high-contrast.css +6 -4
  7. package/dist/css/functional/themes/dark-dimmed.css +6 -4
  8. package/dist/css/functional/themes/dark-high-contrast.css +6 -4
  9. package/dist/css/functional/themes/dark-tritanopia-high-contrast.css +6 -4
  10. package/dist/css/functional/themes/dark-tritanopia.css +6 -4
  11. package/dist/css/functional/themes/dark.css +6 -4
  12. package/dist/css/functional/themes/light-colorblind-high-contrast.css +6 -4
  13. package/dist/css/functional/themes/light-colorblind.css +6 -4
  14. package/dist/css/functional/themes/light-high-contrast.css +6 -4
  15. package/dist/css/functional/themes/light-tritanopia-high-contrast.css +6 -4
  16. package/dist/css/functional/themes/light-tritanopia.css +6 -4
  17. package/dist/css/functional/themes/light.css +6 -4
  18. package/dist/docs/functional/size/border.json +74 -12
  19. package/dist/docs/functional/themes/dark-colorblind-high-contrast.json +41 -11
  20. package/dist/docs/functional/themes/dark-colorblind.json +41 -11
  21. package/dist/docs/functional/themes/dark-dimmed-high-contrast.json +41 -11
  22. package/dist/docs/functional/themes/dark-dimmed.json +41 -11
  23. package/dist/docs/functional/themes/dark-high-contrast.json +41 -11
  24. package/dist/docs/functional/themes/dark-tritanopia-high-contrast.json +41 -11
  25. package/dist/docs/functional/themes/dark-tritanopia.json +41 -11
  26. package/dist/docs/functional/themes/dark.json +41 -11
  27. package/dist/docs/functional/themes/light-colorblind-high-contrast.json +41 -11
  28. package/dist/docs/functional/themes/light-colorblind.json +41 -11
  29. package/dist/docs/functional/themes/light-high-contrast.json +41 -11
  30. package/dist/docs/functional/themes/light-tritanopia-high-contrast.json +41 -11
  31. package/dist/docs/functional/themes/light-tritanopia.json +41 -11
  32. package/dist/docs/functional/themes/light.json +41 -11
  33. package/dist/fallbacks/color-fallbacks.json +1 -0
  34. package/dist/fallbacks/functional/size/border.json +2 -0
  35. package/dist/figma/dimension/dimension.json +46 -22
  36. package/dist/figma/figma.json +1 -1
  37. package/dist/figma/themes/dark-colorblind.json +34 -17
  38. package/dist/figma/themes/dark-dimmed.json +34 -17
  39. package/dist/figma/themes/dark-high-contrast.json +34 -17
  40. package/dist/figma/themes/dark-tritanopia.json +34 -17
  41. package/dist/figma/themes/dark.json +34 -17
  42. package/dist/figma/themes/light-colorblind.json +34 -17
  43. package/dist/figma/themes/light-high-contrast.json +34 -17
  44. package/dist/figma/themes/light-tritanopia.json +34 -17
  45. package/dist/figma/themes/light.json +34 -17
  46. package/dist/internalCss/dark-colorblind-high-contrast.css +12 -22
  47. package/dist/internalCss/dark-colorblind.css +12 -22
  48. package/dist/internalCss/dark-dimmed-high-contrast.css +12 -22
  49. package/dist/internalCss/dark-dimmed.css +12 -22
  50. package/dist/internalCss/dark-high-contrast.css +12 -22
  51. package/dist/internalCss/dark-tritanopia-high-contrast.css +12 -22
  52. package/dist/internalCss/dark-tritanopia.css +12 -22
  53. package/dist/internalCss/dark.css +12 -22
  54. package/dist/internalCss/light-colorblind-high-contrast.css +12 -22
  55. package/dist/internalCss/light-colorblind.css +12 -22
  56. package/dist/internalCss/light-high-contrast.css +12 -22
  57. package/dist/internalCss/light-tritanopia-high-contrast.css +12 -22
  58. package/dist/internalCss/light-tritanopia.css +12 -22
  59. package/dist/internalCss/light.css +12 -22
  60. package/dist/styleLint/functional/size/border.json +75 -13
  61. package/dist/styleLint/functional/themes/dark-colorblind-high-contrast.json +44 -10
  62. package/dist/styleLint/functional/themes/dark-colorblind.json +44 -10
  63. package/dist/styleLint/functional/themes/dark-dimmed-high-contrast.json +44 -10
  64. package/dist/styleLint/functional/themes/dark-dimmed.json +44 -10
  65. package/dist/styleLint/functional/themes/dark-high-contrast.json +44 -10
  66. package/dist/styleLint/functional/themes/dark-tritanopia-high-contrast.json +44 -10
  67. package/dist/styleLint/functional/themes/dark-tritanopia.json +44 -10
  68. package/dist/styleLint/functional/themes/dark.json +44 -10
  69. package/dist/styleLint/functional/themes/light-colorblind-high-contrast.json +44 -10
  70. package/dist/styleLint/functional/themes/light-colorblind.json +44 -10
  71. package/dist/styleLint/functional/themes/light-high-contrast.json +44 -10
  72. package/dist/styleLint/functional/themes/light-tritanopia-high-contrast.json +44 -10
  73. package/dist/styleLint/functional/themes/light-tritanopia.json +44 -10
  74. package/dist/styleLint/functional/themes/light.json +44 -10
  75. package/package.json +2 -2
  76. package/src/tokens/component/focus.json5 +104 -0
  77. package/src/tokens/fallback/color-fallbacks.json +1 -0
  78. package/src/tokens/functional/border/border.json5 +0 -20
  79. package/src/tokens/functional/size/border.json5 +0 -30
  80. package/src/tokens/functional/color/focus.json5 +0 -20
@@ -899,23 +899,6 @@
899
899
  "collection": "mode",
900
900
  "group": "shadow"
901
901
  },
902
- {
903
- "name": "focus/outlineColor",
904
- "value": {
905
- "r": 0.03529411764705882,
906
- "g": 0.4117647058823529,
907
- "b": 0.8549019607843137,
908
- "a": 1
909
- },
910
- "type": "COLOR",
911
- "description": "Outline color for focus states on interactive elements",
912
- "refId": "mode/focus/outlineColor",
913
- "reference": "mode/borderColor/accent-emphasis",
914
- "collection": "mode",
915
- "mode": "light protanopia deuteranopia",
916
- "group": "component (internal)",
917
- "scopes": ["STROKE_COLOR", "EFFECT_COLOR"]
918
- },
919
902
  {
920
903
  "name": "bgColor/default",
921
904
  "value": {
@@ -12388,6 +12371,40 @@
12388
12371
  "group": "component",
12389
12372
  "scopes": ["TEXT_FILL", "SHAPE_FILL"]
12390
12373
  },
12374
+ {
12375
+ "name": "focus/outline-color",
12376
+ "value": {
12377
+ "r": 0.03529411764705882,
12378
+ "g": 0.4117647058823529,
12379
+ "b": 0.8549019607843137,
12380
+ "a": 1
12381
+ },
12382
+ "type": "COLOR",
12383
+ "description": "Outline color for focus states on interactive elements",
12384
+ "refId": "mode/focus/outline-color",
12385
+ "reference": "mode/borderColor/accent-emphasis",
12386
+ "collection": "mode",
12387
+ "mode": "light protanopia deuteranopia",
12388
+ "group": "component (internal)",
12389
+ "scopes": ["STROKE_COLOR", "EFFECT_COLOR"]
12390
+ },
12391
+ {
12392
+ "name": "focus/outlineColor",
12393
+ "value": {
12394
+ "r": 0.03529411764705882,
12395
+ "g": 0.4117647058823529,
12396
+ "b": 0.8549019607843137,
12397
+ "a": 1
12398
+ },
12399
+ "type": "COLOR",
12400
+ "description": "Deprecated. Use focus.outline-color instead.",
12401
+ "refId": "mode/focus/outlineColor",
12402
+ "reference": "mode/focus/outline-color",
12403
+ "collection": "mode",
12404
+ "mode": "light protanopia deuteranopia",
12405
+ "group": "component (internal)",
12406
+ "scopes": ["STROKE_COLOR", "EFFECT_COLOR"]
12407
+ },
12391
12408
  {
12392
12409
  "name": "header/bgColor",
12393
12410
  "value": {
@@ -899,23 +899,6 @@
899
899
  "collection": "mode",
900
900
  "group": "shadow"
901
901
  },
902
- {
903
- "name": "focus/outlineColor",
904
- "value": {
905
- "r": 0.011764705882352941,
906
- "g": 0.28627450980392155,
907
- "b": 0.7058823529411765,
908
- "a": 1
909
- },
910
- "type": "COLOR",
911
- "description": "Outline color for focus states on interactive elements",
912
- "refId": "mode/focus/outlineColor",
913
- "reference": "mode/borderColor/accent-emphasis",
914
- "collection": "mode",
915
- "mode": "light high contrast",
916
- "group": "component (internal)",
917
- "scopes": ["STROKE_COLOR", "EFFECT_COLOR"]
918
- },
919
902
  {
920
903
  "name": "bgColor/default",
921
904
  "value": {
@@ -12379,6 +12362,40 @@
12379
12362
  "group": "component",
12380
12363
  "scopes": ["TEXT_FILL", "SHAPE_FILL"]
12381
12364
  },
12365
+ {
12366
+ "name": "focus/outline-color",
12367
+ "value": {
12368
+ "r": 0.011764705882352941,
12369
+ "g": 0.28627450980392155,
12370
+ "b": 0.7058823529411765,
12371
+ "a": 1
12372
+ },
12373
+ "type": "COLOR",
12374
+ "description": "Outline color for focus states on interactive elements",
12375
+ "refId": "mode/focus/outline-color",
12376
+ "reference": "mode/borderColor/accent-emphasis",
12377
+ "collection": "mode",
12378
+ "mode": "light high contrast",
12379
+ "group": "component (internal)",
12380
+ "scopes": ["STROKE_COLOR", "EFFECT_COLOR"]
12381
+ },
12382
+ {
12383
+ "name": "focus/outlineColor",
12384
+ "value": {
12385
+ "r": 0.011764705882352941,
12386
+ "g": 0.28627450980392155,
12387
+ "b": 0.7058823529411765,
12388
+ "a": 1
12389
+ },
12390
+ "type": "COLOR",
12391
+ "description": "Deprecated. Use focus.outline-color instead.",
12392
+ "refId": "mode/focus/outlineColor",
12393
+ "reference": "mode/focus/outline-color",
12394
+ "collection": "mode",
12395
+ "mode": "light high contrast",
12396
+ "group": "component (internal)",
12397
+ "scopes": ["STROKE_COLOR", "EFFECT_COLOR"]
12398
+ },
12382
12399
  {
12383
12400
  "name": "header/bgColor",
12384
12401
  "value": {
@@ -899,23 +899,6 @@
899
899
  "collection": "mode",
900
900
  "group": "shadow"
901
901
  },
902
- {
903
- "name": "focus/outlineColor",
904
- "value": {
905
- "r": 0.03529411764705882,
906
- "g": 0.4117647058823529,
907
- "b": 0.8549019607843137,
908
- "a": 1
909
- },
910
- "type": "COLOR",
911
- "description": "Outline color for focus states on interactive elements",
912
- "refId": "mode/focus/outlineColor",
913
- "reference": "mode/borderColor/accent-emphasis",
914
- "collection": "mode",
915
- "mode": "light tritanopia",
916
- "group": "component (internal)",
917
- "scopes": ["STROKE_COLOR", "EFFECT_COLOR"]
918
- },
919
902
  {
920
903
  "name": "bgColor/default",
921
904
  "value": {
@@ -12386,6 +12369,40 @@
12386
12369
  "group": "component",
12387
12370
  "scopes": ["TEXT_FILL", "SHAPE_FILL"]
12388
12371
  },
12372
+ {
12373
+ "name": "focus/outline-color",
12374
+ "value": {
12375
+ "r": 0.03529411764705882,
12376
+ "g": 0.4117647058823529,
12377
+ "b": 0.8549019607843137,
12378
+ "a": 1
12379
+ },
12380
+ "type": "COLOR",
12381
+ "description": "Outline color for focus states on interactive elements",
12382
+ "refId": "mode/focus/outline-color",
12383
+ "reference": "mode/borderColor/accent-emphasis",
12384
+ "collection": "mode",
12385
+ "mode": "light tritanopia",
12386
+ "group": "component (internal)",
12387
+ "scopes": ["STROKE_COLOR", "EFFECT_COLOR"]
12388
+ },
12389
+ {
12390
+ "name": "focus/outlineColor",
12391
+ "value": {
12392
+ "r": 0.03529411764705882,
12393
+ "g": 0.4117647058823529,
12394
+ "b": 0.8549019607843137,
12395
+ "a": 1
12396
+ },
12397
+ "type": "COLOR",
12398
+ "description": "Deprecated. Use focus.outline-color instead.",
12399
+ "refId": "mode/focus/outlineColor",
12400
+ "reference": "mode/focus/outline-color",
12401
+ "collection": "mode",
12402
+ "mode": "light tritanopia",
12403
+ "group": "component (internal)",
12404
+ "scopes": ["STROKE_COLOR", "EFFECT_COLOR"]
12405
+ },
12389
12406
  {
12390
12407
  "name": "header/bgColor",
12391
12408
  "value": {
@@ -899,23 +899,6 @@
899
899
  "collection": "mode",
900
900
  "group": "shadow"
901
901
  },
902
- {
903
- "name": "focus/outlineColor",
904
- "value": {
905
- "r": 0.03529411764705882,
906
- "g": 0.4117647058823529,
907
- "b": 0.8549019607843137,
908
- "a": 1
909
- },
910
- "type": "COLOR",
911
- "description": "Outline color for focus states on interactive elements",
912
- "refId": "mode/focus/outlineColor",
913
- "reference": "mode/borderColor/accent-emphasis",
914
- "collection": "mode",
915
- "mode": "light",
916
- "group": "component (internal)",
917
- "scopes": ["STROKE_COLOR", "EFFECT_COLOR"]
918
- },
919
902
  {
920
903
  "name": "bgColor/default",
921
904
  "value": {
@@ -12382,6 +12365,40 @@
12382
12365
  "group": "component",
12383
12366
  "scopes": ["TEXT_FILL", "SHAPE_FILL"]
12384
12367
  },
12368
+ {
12369
+ "name": "focus/outline-color",
12370
+ "value": {
12371
+ "r": 0.03529411764705882,
12372
+ "g": 0.4117647058823529,
12373
+ "b": 0.8549019607843137,
12374
+ "a": 1
12375
+ },
12376
+ "type": "COLOR",
12377
+ "description": "Outline color for focus states on interactive elements",
12378
+ "refId": "mode/focus/outline-color",
12379
+ "reference": "mode/borderColor/accent-emphasis",
12380
+ "collection": "mode",
12381
+ "mode": "light",
12382
+ "group": "component (internal)",
12383
+ "scopes": ["STROKE_COLOR", "EFFECT_COLOR"]
12384
+ },
12385
+ {
12386
+ "name": "focus/outlineColor",
12387
+ "value": {
12388
+ "r": 0.03529411764705882,
12389
+ "g": 0.4117647058823529,
12390
+ "b": 0.8549019607843137,
12391
+ "a": 1
12392
+ },
12393
+ "type": "COLOR",
12394
+ "description": "Deprecated. Use focus.outline-color instead.",
12395
+ "refId": "mode/focus/outlineColor",
12396
+ "reference": "mode/focus/outline-color",
12397
+ "collection": "mode",
12398
+ "mode": "light",
12399
+ "group": "component (internal)",
12400
+ "scopes": ["STROKE_COLOR", "EFFECT_COLOR"]
12401
+ },
12385
12402
  {
12386
12403
  "name": "header/bgColor",
12387
12404
  "value": {
@@ -287,9 +287,6 @@
287
287
  --base-display-color-yellow-7: #df9e11;
288
288
  --base-display-color-yellow-8: #edb431;
289
289
  --base-display-color-yellow-9: #f0ca6a;
290
- --borderWidth-thick: 0.125rem; /** Thick 2px border for emphasis. Use for focus indicators, selected states, or to emphasize important boundaries */
291
- --borderWidth-thicker: 0.25rem; /** Extra thick 4px border for maximum emphasis. Use sparingly for high-contrast focus indicators or critical visual separators */
292
- --borderWidth-thin: 0.0625rem; /** Standard 1px border width. Use for most borders, dividers, and outlines throughout the interface */
293
290
  --button-primary-bgColor-active: #3685f3;
294
291
  --button-primary-bgColor-hover: #2a7aef;
295
292
  --button-primary-borderColor-disabled: #1158c7;
@@ -300,8 +297,6 @@
300
297
  --fgColor-accent: #74b9ff; /** Accent text for links and interactive elements */
301
298
  --fgColor-done: #d3abff; /** Text color for completed/done state indicators */
302
299
  --fgColor-sponsors: #ff90c8; /** Text color for GitHub Sponsors content */
303
- --outline-focus-offset: -0.125rem; /** Focus outline offset (-2px). Negative value creates an inset outline for keyboard focus indicators, ensuring the focus ring stays within the element bounds */
304
- --outline-focus-width: 0.125rem; /** Focus outline width (2px). Standard width for keyboard focus indicators to meet WCAG 2.4.7 accessibility requirements */
305
300
  --reactionButton-selected-bgColor-hover: #3a8cfd5c;
306
301
  --avatar-shadow: 0 0 0 2px #0d1117;
307
302
  --avatarStack-fade-bgColor-default: var(--base-color-neutral-7);
@@ -351,10 +346,9 @@
351
346
  --borderColor-success-muted: var(--base-color-blue-4); /** Subtle success border for positive feedback elements */
352
347
  --borderColor-translucent: var(--base-color-neutral-9); /** Semi-transparent border for overlays and layered elements. Border-specific token — no bgColor-translucent counterpart exists by design. */
353
348
  --borderColor-transparent: var(--base-color-transparent); /** Fully transparent border */
354
- --borderWidth-default: var(--borderWidth-thin); /** Default border width for most UI elements. Alias of borderWidth.thin (1px) */
355
- --boxShadow-thick: inset 0 0 0 var(--borderWidth-thick); /** Thick shadow (2px) used instead of a border for emphasis without layout shift */
356
- --boxShadow-thicker: inset 0 0 0 var(--borderWidth-thicker); /** Thickest shadow (4px) used for high emphasis borders without layout shift. Use sparingly for maximum visual impact */
357
- --boxShadow-thin: inset 0 0 0 var(--borderWidth-thin); /** Thin shadow used instead of a border to prevent layout shift */
349
+ --boxShadow-thick: inset 0 0 0 0.125rem; /** Thick shadow (2px) used instead of a border for emphasis without layout shift */
350
+ --boxShadow-thicker: inset 0 0 0 0.25rem; /** Thickest shadow (4px) used for high emphasis borders without layout shift. Use sparingly for maximum visual impact */
351
+ --boxShadow-thin: inset 0 0 0 0.0625rem; /** Thin shadow used instead of a border to prevent layout shift */
358
352
  --button-danger-bgColor-hover: var(--base-color-orange-9);
359
353
  --button-danger-borderColor-hover: var(--base-color-orange-2);
360
354
  --button-danger-fgColor-rest: var(--base-color-orange-2);
@@ -1060,7 +1054,7 @@
1060
1054
  --fgColor-onEmphasis: var(--base-color-neutral-13); /** Text color for use on emphasis backgrounds */
1061
1055
  --fgColor-onInverse: var(--base-color-neutral-0); /** Text color for use on inverse backgrounds */
1062
1056
  --fgColor-white: var(--base-color-neutral-13); /** Pure white text */
1063
- --focus-outlineColor: var(--borderColor-accent-emphasis); /** Outline color for focus states on interactive elements */
1057
+ --focus-outline-color: var(--borderColor-accent-emphasis); /** Outline color for focus states on interactive elements */
1064
1058
  --header-fgColor-default: #ffffffb3;
1065
1059
  --label-auburn-borderColor: var(--label-auburn-fgColor-rest);
1066
1060
  --label-blue-borderColor: var(--label-blue-fgColor-rest);
@@ -1171,7 +1165,8 @@
1171
1165
  --diffBlob-expander-iconColor: var(--fgColor-default);
1172
1166
  --diffBlob-hunkNum-fgColor-hover: var(--fgColor-onEmphasis);
1173
1167
  --diffBlob-hunkNum-fgColor-rest: var(--fgColor-default);
1174
- --focus-outline: 2px solid #409eff; /** Focus ring outline for keyboard navigation and accessibility. */
1168
+ --focus-outline: 0.125rem solid #409eff; /** Focus ring outline for keyboard navigation and accessibility. */
1169
+ --focus-outlineColor: var(--focus-outline-color); /** Deprecated. Use focus.outline-color instead. */
1175
1170
  --page-header-bgColor: var(--bgColor-default);
1176
1171
  --progressBar-track-bgColor: var(--bgColor-inverse);
1177
1172
  --shadow-floating-large: 0 0 0 1px #b7bdc8, 0 24px 48px 0 #010409; /** Large floating shadow for modals and dialogs */
@@ -1488,9 +1483,6 @@
1488
1483
  --base-display-color-yellow-7: #df9e11;
1489
1484
  --base-display-color-yellow-8: #edb431;
1490
1485
  --base-display-color-yellow-9: #f0ca6a;
1491
- --borderWidth-thick: 0.125rem; /** Thick 2px border for emphasis. Use for focus indicators, selected states, or to emphasize important boundaries */
1492
- --borderWidth-thicker: 0.25rem; /** Extra thick 4px border for maximum emphasis. Use sparingly for high-contrast focus indicators or critical visual separators */
1493
- --borderWidth-thin: 0.0625rem; /** Standard 1px border width. Use for most borders, dividers, and outlines throughout the interface */
1494
1486
  --button-primary-bgColor-active: #3685f3;
1495
1487
  --button-primary-bgColor-hover: #2a7aef;
1496
1488
  --button-primary-borderColor-disabled: #1158c7;
@@ -1501,8 +1493,6 @@
1501
1493
  --fgColor-accent: #74b9ff; /** Accent text for links and interactive elements */
1502
1494
  --fgColor-done: #d3abff; /** Text color for completed/done state indicators */
1503
1495
  --fgColor-sponsors: #ff90c8; /** Text color for GitHub Sponsors content */
1504
- --outline-focus-offset: -0.125rem; /** Focus outline offset (-2px). Negative value creates an inset outline for keyboard focus indicators, ensuring the focus ring stays within the element bounds */
1505
- --outline-focus-width: 0.125rem; /** Focus outline width (2px). Standard width for keyboard focus indicators to meet WCAG 2.4.7 accessibility requirements */
1506
1496
  --reactionButton-selected-bgColor-hover: #3a8cfd5c;
1507
1497
  --avatar-shadow: 0 0 0 2px #0d1117;
1508
1498
  --avatarStack-fade-bgColor-default: var(--base-color-neutral-7);
@@ -1552,10 +1542,9 @@
1552
1542
  --borderColor-success-muted: var(--base-color-blue-4); /** Subtle success border for positive feedback elements */
1553
1543
  --borderColor-translucent: var(--base-color-neutral-9); /** Semi-transparent border for overlays and layered elements. Border-specific token — no bgColor-translucent counterpart exists by design. */
1554
1544
  --borderColor-transparent: var(--base-color-transparent); /** Fully transparent border */
1555
- --borderWidth-default: var(--borderWidth-thin); /** Default border width for most UI elements. Alias of borderWidth.thin (1px) */
1556
- --boxShadow-thick: inset 0 0 0 var(--borderWidth-thick); /** Thick shadow (2px) used instead of a border for emphasis without layout shift */
1557
- --boxShadow-thicker: inset 0 0 0 var(--borderWidth-thicker); /** Thickest shadow (4px) used for high emphasis borders without layout shift. Use sparingly for maximum visual impact */
1558
- --boxShadow-thin: inset 0 0 0 var(--borderWidth-thin); /** Thin shadow used instead of a border to prevent layout shift */
1545
+ --boxShadow-thick: inset 0 0 0 0.125rem; /** Thick shadow (2px) used instead of a border for emphasis without layout shift */
1546
+ --boxShadow-thicker: inset 0 0 0 0.25rem; /** Thickest shadow (4px) used for high emphasis borders without layout shift. Use sparingly for maximum visual impact */
1547
+ --boxShadow-thin: inset 0 0 0 0.0625rem; /** Thin shadow used instead of a border to prevent layout shift */
1559
1548
  --button-danger-bgColor-hover: var(--base-color-orange-9);
1560
1549
  --button-danger-borderColor-hover: var(--base-color-orange-2);
1561
1550
  --button-danger-fgColor-rest: var(--base-color-orange-2);
@@ -2261,7 +2250,7 @@
2261
2250
  --fgColor-onEmphasis: var(--base-color-neutral-13); /** Text color for use on emphasis backgrounds */
2262
2251
  --fgColor-onInverse: var(--base-color-neutral-0); /** Text color for use on inverse backgrounds */
2263
2252
  --fgColor-white: var(--base-color-neutral-13); /** Pure white text */
2264
- --focus-outlineColor: var(--borderColor-accent-emphasis); /** Outline color for focus states on interactive elements */
2253
+ --focus-outline-color: var(--borderColor-accent-emphasis); /** Outline color for focus states on interactive elements */
2265
2254
  --header-fgColor-default: #ffffffb3;
2266
2255
  --label-auburn-borderColor: var(--label-auburn-fgColor-rest);
2267
2256
  --label-blue-borderColor: var(--label-blue-fgColor-rest);
@@ -2372,7 +2361,8 @@
2372
2361
  --diffBlob-expander-iconColor: var(--fgColor-default);
2373
2362
  --diffBlob-hunkNum-fgColor-hover: var(--fgColor-onEmphasis);
2374
2363
  --diffBlob-hunkNum-fgColor-rest: var(--fgColor-default);
2375
- --focus-outline: 2px solid #409eff; /** Focus ring outline for keyboard navigation and accessibility. */
2364
+ --focus-outline: 0.125rem solid #409eff; /** Focus ring outline for keyboard navigation and accessibility. */
2365
+ --focus-outlineColor: var(--focus-outline-color); /** Deprecated. Use focus.outline-color instead. */
2376
2366
  --page-header-bgColor: var(--bgColor-default);
2377
2367
  --progressBar-track-bgColor: var(--bgColor-inverse);
2378
2368
  --shadow-floating-large: 0 0 0 1px #b7bdc8, 0 24px 48px 0 #010409; /** Large floating shadow for modals and dialogs */
@@ -287,9 +287,6 @@
287
287
  --base-display-color-yellow-7: #df9e11;
288
288
  --base-display-color-yellow-8: #edb431;
289
289
  --base-display-color-yellow-9: #f0ca6a;
290
- --borderWidth-thick: 0.125rem; /** Thick 2px border for emphasis. Use for focus indicators, selected states, or to emphasize important boundaries */
291
- --borderWidth-thicker: 0.25rem; /** Extra thick 4px border for maximum emphasis. Use sparingly for high-contrast focus indicators or critical visual separators */
292
- --borderWidth-thin: 0.0625rem; /** Standard 1px border width. Use for most borders, dividers, and outlines throughout the interface */
293
290
  --button-primary-bgColor-active: #3685f3;
294
291
  --button-primary-bgColor-hover: #2a7aef;
295
292
  --button-primary-borderColor-disabled: #1158c7;
@@ -298,8 +295,6 @@
298
295
  --control-checked-bgColor-active: #3685f3;
299
296
  --control-checked-bgColor-hover: #2a7aef;
300
297
  --fgColor-accent: #4493f8; /** Accent text for links and interactive elements */
301
- --outline-focus-offset: -0.125rem; /** Focus outline offset (-2px). Negative value creates an inset outline for keyboard focus indicators, ensuring the focus ring stays within the element bounds */
302
- --outline-focus-width: 0.125rem; /** Focus outline width (2px). Standard width for keyboard focus indicators to meet WCAG 2.4.7 accessibility requirements */
303
298
  --reactionButton-selected-bgColor-hover: #3a8cfd5c;
304
299
  --avatar-shadow: 0 0 0 2px #0d1117;
305
300
  --avatarStack-fade-bgColor-default: var(--base-color-neutral-7);
@@ -350,10 +345,9 @@
350
345
  --borderColor-success-emphasis: var(--base-color-blue-5); /** Strong success border for prominent positive elements */
351
346
  --borderColor-success-muted: #388bfd66; /** Subtle success border for positive feedback elements */
352
347
  --borderColor-transparent: var(--base-color-transparent); /** Fully transparent border */
353
- --borderWidth-default: var(--borderWidth-thin); /** Default border width for most UI elements. Alias of borderWidth.thin (1px) */
354
- --boxShadow-thick: inset 0 0 0 var(--borderWidth-thick); /** Thick shadow (2px) used instead of a border for emphasis without layout shift */
355
- --boxShadow-thicker: inset 0 0 0 var(--borderWidth-thicker); /** Thickest shadow (4px) used for high emphasis borders without layout shift. Use sparingly for maximum visual impact */
356
- --boxShadow-thin: inset 0 0 0 var(--borderWidth-thin); /** Thin shadow used instead of a border to prevent layout shift */
348
+ --boxShadow-thick: inset 0 0 0 0.125rem; /** Thick shadow (2px) used instead of a border for emphasis without layout shift */
349
+ --boxShadow-thicker: inset 0 0 0 0.25rem; /** Thickest shadow (4px) used for high emphasis borders without layout shift. Use sparingly for maximum visual impact */
350
+ --boxShadow-thin: inset 0 0 0 0.0625rem; /** Thin shadow used instead of a border to prevent layout shift */
357
351
  --button-danger-bgColor-hover: var(--base-color-orange-6);
358
352
  --button-danger-shadow-selected: 0 0 0 0 #00000000;
359
353
  --button-default-shadow-resting: 0 0 0 0 #00000000;
@@ -1099,7 +1093,7 @@
1099
1093
  --fgColor-onInverse: var(--base-color-neutral-0); /** Text color for use on inverse backgrounds */
1100
1094
  --fgColor-upsell: var(--fgColor-done); /** Text color for upsell and promotional content */
1101
1095
  --fgColor-white: var(--base-color-neutral-13); /** Pure white text */
1102
- --focus-outlineColor: var(--borderColor-accent-emphasis); /** Outline color for focus states on interactive elements */
1096
+ --focus-outline-color: var(--borderColor-accent-emphasis); /** Outline color for focus states on interactive elements */
1103
1097
  --header-fgColor-default: #ffffffb3;
1104
1098
  --overlay-bgColor: var(--base-color-neutral-0);
1105
1099
  --page-header-bgColor: var(--bgColor-default);
@@ -1177,7 +1171,8 @@
1177
1171
  --controlTrack-fgColor-disabled: var(--fgColor-onEmphasis);
1178
1172
  --dashboard-bgColor: var(--bgColor-inset);
1179
1173
  --diffBlob-hunkNum-fgColor-hover: var(--fgColor-onEmphasis);
1180
- --focus-outline: 2px solid #1f6feb; /** Focus ring outline for keyboard navigation and accessibility. */
1174
+ --focus-outline: 0.125rem solid #1f6feb; /** Focus ring outline for keyboard navigation and accessibility. */
1175
+ --focus-outlineColor: var(--focus-outline-color); /** Deprecated. Use focus.outline-color instead. */
1181
1176
  --overlay-borderColor: var(--borderColor-muted);
1182
1177
  --tooltip-fgColor: var(--fgColor-onEmphasis);
1183
1178
  --border-draft-emphasis: 0.0625rem solid #656c76;
@@ -1488,9 +1483,6 @@
1488
1483
  --base-display-color-yellow-7: #df9e11;
1489
1484
  --base-display-color-yellow-8: #edb431;
1490
1485
  --base-display-color-yellow-9: #f0ca6a;
1491
- --borderWidth-thick: 0.125rem; /** Thick 2px border for emphasis. Use for focus indicators, selected states, or to emphasize important boundaries */
1492
- --borderWidth-thicker: 0.25rem; /** Extra thick 4px border for maximum emphasis. Use sparingly for high-contrast focus indicators or critical visual separators */
1493
- --borderWidth-thin: 0.0625rem; /** Standard 1px border width. Use for most borders, dividers, and outlines throughout the interface */
1494
1486
  --button-primary-bgColor-active: #3685f3;
1495
1487
  --button-primary-bgColor-hover: #2a7aef;
1496
1488
  --button-primary-borderColor-disabled: #1158c7;
@@ -1499,8 +1491,6 @@
1499
1491
  --control-checked-bgColor-active: #3685f3;
1500
1492
  --control-checked-bgColor-hover: #2a7aef;
1501
1493
  --fgColor-accent: #4493f8; /** Accent text for links and interactive elements */
1502
- --outline-focus-offset: -0.125rem; /** Focus outline offset (-2px). Negative value creates an inset outline for keyboard focus indicators, ensuring the focus ring stays within the element bounds */
1503
- --outline-focus-width: 0.125rem; /** Focus outline width (2px). Standard width for keyboard focus indicators to meet WCAG 2.4.7 accessibility requirements */
1504
1494
  --reactionButton-selected-bgColor-hover: #3a8cfd5c;
1505
1495
  --avatar-shadow: 0 0 0 2px #0d1117;
1506
1496
  --avatarStack-fade-bgColor-default: var(--base-color-neutral-7);
@@ -1551,10 +1541,9 @@
1551
1541
  --borderColor-success-emphasis: var(--base-color-blue-5); /** Strong success border for prominent positive elements */
1552
1542
  --borderColor-success-muted: #388bfd66; /** Subtle success border for positive feedback elements */
1553
1543
  --borderColor-transparent: var(--base-color-transparent); /** Fully transparent border */
1554
- --borderWidth-default: var(--borderWidth-thin); /** Default border width for most UI elements. Alias of borderWidth.thin (1px) */
1555
- --boxShadow-thick: inset 0 0 0 var(--borderWidth-thick); /** Thick shadow (2px) used instead of a border for emphasis without layout shift */
1556
- --boxShadow-thicker: inset 0 0 0 var(--borderWidth-thicker); /** Thickest shadow (4px) used for high emphasis borders without layout shift. Use sparingly for maximum visual impact */
1557
- --boxShadow-thin: inset 0 0 0 var(--borderWidth-thin); /** Thin shadow used instead of a border to prevent layout shift */
1544
+ --boxShadow-thick: inset 0 0 0 0.125rem; /** Thick shadow (2px) used instead of a border for emphasis without layout shift */
1545
+ --boxShadow-thicker: inset 0 0 0 0.25rem; /** Thickest shadow (4px) used for high emphasis borders without layout shift. Use sparingly for maximum visual impact */
1546
+ --boxShadow-thin: inset 0 0 0 0.0625rem; /** Thin shadow used instead of a border to prevent layout shift */
1558
1547
  --button-danger-bgColor-hover: var(--base-color-orange-6);
1559
1548
  --button-danger-shadow-selected: 0 0 0 0 #00000000;
1560
1549
  --button-default-shadow-resting: 0 0 0 0 #00000000;
@@ -2300,7 +2289,7 @@
2300
2289
  --fgColor-onInverse: var(--base-color-neutral-0); /** Text color for use on inverse backgrounds */
2301
2290
  --fgColor-upsell: var(--fgColor-done); /** Text color for upsell and promotional content */
2302
2291
  --fgColor-white: var(--base-color-neutral-13); /** Pure white text */
2303
- --focus-outlineColor: var(--borderColor-accent-emphasis); /** Outline color for focus states on interactive elements */
2292
+ --focus-outline-color: var(--borderColor-accent-emphasis); /** Outline color for focus states on interactive elements */
2304
2293
  --header-fgColor-default: #ffffffb3;
2305
2294
  --overlay-bgColor: var(--base-color-neutral-0);
2306
2295
  --page-header-bgColor: var(--bgColor-default);
@@ -2378,7 +2367,8 @@
2378
2367
  --controlTrack-fgColor-disabled: var(--fgColor-onEmphasis);
2379
2368
  --dashboard-bgColor: var(--bgColor-inset);
2380
2369
  --diffBlob-hunkNum-fgColor-hover: var(--fgColor-onEmphasis);
2381
- --focus-outline: 2px solid #1f6feb; /** Focus ring outline for keyboard navigation and accessibility. */
2370
+ --focus-outline: 0.125rem solid #1f6feb; /** Focus ring outline for keyboard navigation and accessibility. */
2371
+ --focus-outlineColor: var(--focus-outline-color); /** Deprecated. Use focus.outline-color instead. */
2382
2372
  --overlay-borderColor: var(--borderColor-muted);
2383
2373
  --tooltip-fgColor: var(--fgColor-onEmphasis);
2384
2374
  --border-draft-emphasis: 0.0625rem solid #656c76;
@@ -287,9 +287,6 @@
287
287
  --base-display-color-yellow-7: #df9e11;
288
288
  --base-display-color-yellow-8: #edb431;
289
289
  --base-display-color-yellow-9: #f0ca6a;
290
- --borderWidth-thick: 0.125rem; /** Thick 2px border for emphasis. Use for focus indicators, selected states, or to emphasize important boundaries */
291
- --borderWidth-thicker: 0.25rem; /** Extra thick 4px border for maximum emphasis. Use sparingly for high-contrast focus indicators or critical visual separators */
292
- --borderWidth-thin: 0.0625rem; /** Standard 1px border width. Use for most borders, dividers, and outlines throughout the interface */
293
290
  --button-danger-fgColor-active: #ffffff;
294
291
  --button-danger-fgColor-hover: #ffffff;
295
292
  --button-danger-iconColor-hover: #ffffff;
@@ -303,8 +300,6 @@
303
300
  --control-checked-bgColor-hover: #2b64c1;
304
301
  --control-danger-bgColor-active: #c51120;
305
302
  --fgColor-onEmphasis: #ffffff; /** Text color for use on emphasis backgrounds */
306
- --outline-focus-offset: -0.125rem; /** Focus outline offset (-2px). Negative value creates an inset outline for keyboard focus indicators, ensuring the focus ring stays within the element bounds */
307
- --outline-focus-width: 0.125rem; /** Focus outline width (2px). Standard width for keyboard focus indicators to meet WCAG 2.4.7 accessibility requirements */
308
303
  --reactionButton-selected-bgColor-hover: #3a8cfd5c;
309
304
  --avatar-shadow: 0 0 0 2px #0d1117;
310
305
  --avatarStack-fade-bgColor-default: var(--base-color-neutral-7);
@@ -352,10 +347,9 @@
352
347
  --borderColor-success-muted: var(--base-color-green-2); /** Subtle success border for positive feedback elements */
353
348
  --borderColor-translucent: var(--base-color-neutral-9); /** Semi-transparent border for overlays and layered elements. Border-specific token — no bgColor-translucent counterpart exists by design. */
354
349
  --borderColor-transparent: var(--base-color-transparent); /** Fully transparent border */
355
- --borderWidth-default: var(--borderWidth-thin); /** Default border width for most UI elements. Alias of borderWidth.thin (1px) */
356
- --boxShadow-thick: inset 0 0 0 var(--borderWidth-thick); /** Thick shadow (2px) used instead of a border for emphasis without layout shift */
357
- --boxShadow-thicker: inset 0 0 0 var(--borderWidth-thicker); /** Thickest shadow (4px) used for high emphasis borders without layout shift. Use sparingly for maximum visual impact */
358
- --boxShadow-thin: inset 0 0 0 var(--borderWidth-thin); /** Thin shadow used instead of a border to prevent layout shift */
350
+ --boxShadow-thick: inset 0 0 0 0.125rem; /** Thick shadow (2px) used instead of a border for emphasis without layout shift */
351
+ --boxShadow-thicker: inset 0 0 0 0.25rem; /** Thickest shadow (4px) used for high emphasis borders without layout shift. Use sparingly for maximum visual impact */
352
+ --boxShadow-thin: inset 0 0 0 0.0625rem; /** Thin shadow used instead of a border to prevent layout shift */
359
353
  --button-danger-bgColor-hover: var(--base-color-red-7);
360
354
  --button-danger-borderColor-hover: var(--base-color-red-1);
361
355
  --button-danger-fgColor-rest: var(--base-color-red-1);
@@ -1091,7 +1085,7 @@
1091
1085
  --fgColor-open: var(--fgColor-success); /** Text color for open state indicators (issues, PRs) */
1092
1086
  --fgColor-upsell: var(--fgColor-done); /** Text color for upsell and promotional content */
1093
1087
  --fgColor-white: var(--base-color-neutral-13); /** Pure white text */
1094
- --focus-outlineColor: var(--borderColor-accent-emphasis); /** Outline color for focus states on interactive elements */
1088
+ --focus-outline-color: var(--borderColor-accent-emphasis); /** Outline color for focus states on interactive elements */
1095
1089
  --header-fgColor-default: #cdd9e5b3;
1096
1090
  --label-auburn-borderColor: var(--label-auburn-fgColor-rest);
1097
1091
  --label-blue-borderColor: var(--label-blue-fgColor-rest);
@@ -1173,7 +1167,8 @@
1173
1167
  --controlKnob-borderColor-checked: var(--control-checked-bgColor-rest);
1174
1168
  --controlKnob-borderColor-disabled: var(--control-bgColor-disabled);
1175
1169
  --controlTrack-borderColor-rest: var(--borderColor-emphasis);
1176
- --focus-outline: 2px solid #6cb6ff; /** Focus ring outline for keyboard navigation and accessibility. */
1170
+ --focus-outline: 0.125rem solid #6cb6ff; /** Focus ring outline for keyboard navigation and accessibility. */
1171
+ --focus-outlineColor: var(--focus-outline-color); /** Deprecated. Use focus.outline-color instead. */
1177
1172
  --progressBar-track-bgColor: var(--bgColor-inverse);
1178
1173
  --reactionButton-selected-fgColor-rest: var(--fgColor-link);
1179
1174
  --shadow-floating-large: 0 0 0 1px #b7bdc8, 0 24px 48px 0 #010409; /** Large floating shadow for modals and dialogs */
@@ -1488,9 +1483,6 @@
1488
1483
  --base-display-color-yellow-7: #df9e11;
1489
1484
  --base-display-color-yellow-8: #edb431;
1490
1485
  --base-display-color-yellow-9: #f0ca6a;
1491
- --borderWidth-thick: 0.125rem; /** Thick 2px border for emphasis. Use for focus indicators, selected states, or to emphasize important boundaries */
1492
- --borderWidth-thicker: 0.25rem; /** Extra thick 4px border for maximum emphasis. Use sparingly for high-contrast focus indicators or critical visual separators */
1493
- --borderWidth-thin: 0.0625rem; /** Standard 1px border width. Use for most borders, dividers, and outlines throughout the interface */
1494
1486
  --button-danger-fgColor-active: #ffffff;
1495
1487
  --button-danger-fgColor-hover: #ffffff;
1496
1488
  --button-danger-iconColor-hover: #ffffff;
@@ -1504,8 +1496,6 @@
1504
1496
  --control-checked-bgColor-hover: #2b64c1;
1505
1497
  --control-danger-bgColor-active: #c51120;
1506
1498
  --fgColor-onEmphasis: #ffffff; /** Text color for use on emphasis backgrounds */
1507
- --outline-focus-offset: -0.125rem; /** Focus outline offset (-2px). Negative value creates an inset outline for keyboard focus indicators, ensuring the focus ring stays within the element bounds */
1508
- --outline-focus-width: 0.125rem; /** Focus outline width (2px). Standard width for keyboard focus indicators to meet WCAG 2.4.7 accessibility requirements */
1509
1499
  --reactionButton-selected-bgColor-hover: #3a8cfd5c;
1510
1500
  --avatar-shadow: 0 0 0 2px #0d1117;
1511
1501
  --avatarStack-fade-bgColor-default: var(--base-color-neutral-7);
@@ -1553,10 +1543,9 @@
1553
1543
  --borderColor-success-muted: var(--base-color-green-2); /** Subtle success border for positive feedback elements */
1554
1544
  --borderColor-translucent: var(--base-color-neutral-9); /** Semi-transparent border for overlays and layered elements. Border-specific token — no bgColor-translucent counterpart exists by design. */
1555
1545
  --borderColor-transparent: var(--base-color-transparent); /** Fully transparent border */
1556
- --borderWidth-default: var(--borderWidth-thin); /** Default border width for most UI elements. Alias of borderWidth.thin (1px) */
1557
- --boxShadow-thick: inset 0 0 0 var(--borderWidth-thick); /** Thick shadow (2px) used instead of a border for emphasis without layout shift */
1558
- --boxShadow-thicker: inset 0 0 0 var(--borderWidth-thicker); /** Thickest shadow (4px) used for high emphasis borders without layout shift. Use sparingly for maximum visual impact */
1559
- --boxShadow-thin: inset 0 0 0 var(--borderWidth-thin); /** Thin shadow used instead of a border to prevent layout shift */
1546
+ --boxShadow-thick: inset 0 0 0 0.125rem; /** Thick shadow (2px) used instead of a border for emphasis without layout shift */
1547
+ --boxShadow-thicker: inset 0 0 0 0.25rem; /** Thickest shadow (4px) used for high emphasis borders without layout shift. Use sparingly for maximum visual impact */
1548
+ --boxShadow-thin: inset 0 0 0 0.0625rem; /** Thin shadow used instead of a border to prevent layout shift */
1560
1549
  --button-danger-bgColor-hover: var(--base-color-red-7);
1561
1550
  --button-danger-borderColor-hover: var(--base-color-red-1);
1562
1551
  --button-danger-fgColor-rest: var(--base-color-red-1);
@@ -2292,7 +2281,7 @@
2292
2281
  --fgColor-open: var(--fgColor-success); /** Text color for open state indicators (issues, PRs) */
2293
2282
  --fgColor-upsell: var(--fgColor-done); /** Text color for upsell and promotional content */
2294
2283
  --fgColor-white: var(--base-color-neutral-13); /** Pure white text */
2295
- --focus-outlineColor: var(--borderColor-accent-emphasis); /** Outline color for focus states on interactive elements */
2284
+ --focus-outline-color: var(--borderColor-accent-emphasis); /** Outline color for focus states on interactive elements */
2296
2285
  --header-fgColor-default: #cdd9e5b3;
2297
2286
  --label-auburn-borderColor: var(--label-auburn-fgColor-rest);
2298
2287
  --label-blue-borderColor: var(--label-blue-fgColor-rest);
@@ -2374,7 +2363,8 @@
2374
2363
  --controlKnob-borderColor-checked: var(--control-checked-bgColor-rest);
2375
2364
  --controlKnob-borderColor-disabled: var(--control-bgColor-disabled);
2376
2365
  --controlTrack-borderColor-rest: var(--borderColor-emphasis);
2377
- --focus-outline: 2px solid #6cb6ff; /** Focus ring outline for keyboard navigation and accessibility. */
2366
+ --focus-outline: 0.125rem solid #6cb6ff; /** Focus ring outline for keyboard navigation and accessibility. */
2367
+ --focus-outlineColor: var(--focus-outline-color); /** Deprecated. Use focus.outline-color instead. */
2378
2368
  --progressBar-track-bgColor: var(--bgColor-inverse);
2379
2369
  --reactionButton-selected-fgColor-rest: var(--fgColor-link);
2380
2370
  --shadow-floating-large: 0 0 0 1px #b7bdc8, 0 24px 48px 0 #010409; /** Large floating shadow for modals and dialogs */