@primer/primitives 11.7.0-rc.9e55ef3b → 11.7.1-rc.97abd424
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.
- package/DESIGN_TOKENS_SPEC.md +6 -10
- package/dist/build/platforms/css.js +23 -4
- package/dist/css/functional/size/border.css +4 -2
- package/dist/css/functional/themes/dark-colorblind-high-contrast.css +58 -56
- package/dist/css/functional/themes/dark-colorblind.css +58 -56
- package/dist/css/functional/themes/dark-dimmed-high-contrast.css +58 -56
- package/dist/css/functional/themes/dark-dimmed.css +58 -56
- package/dist/css/functional/themes/dark-high-contrast.css +58 -56
- package/dist/css/functional/themes/dark-tritanopia-high-contrast.css +58 -56
- package/dist/css/functional/themes/dark-tritanopia.css +58 -56
- package/dist/css/functional/themes/dark.css +58 -56
- package/dist/css/functional/themes/light-colorblind-high-contrast.css +58 -56
- package/dist/css/functional/themes/light-colorblind.css +58 -56
- package/dist/css/functional/themes/light-high-contrast.css +58 -56
- package/dist/css/functional/themes/light-tritanopia-high-contrast.css +58 -56
- package/dist/css/functional/themes/light-tritanopia.css +58 -56
- package/dist/css/functional/themes/light.css +58 -56
- package/dist/docs/functional/size/border.json +74 -12
- package/dist/docs/functional/themes/dark-colorblind-high-contrast.json +41 -11
- package/dist/docs/functional/themes/dark-colorblind.json +41 -11
- package/dist/docs/functional/themes/dark-dimmed-high-contrast.json +41 -11
- package/dist/docs/functional/themes/dark-dimmed.json +41 -11
- package/dist/docs/functional/themes/dark-high-contrast.json +41 -11
- package/dist/docs/functional/themes/dark-tritanopia-high-contrast.json +41 -11
- package/dist/docs/functional/themes/dark-tritanopia.json +41 -11
- package/dist/docs/functional/themes/dark.json +41 -11
- package/dist/docs/functional/themes/light-colorblind-high-contrast.json +41 -11
- package/dist/docs/functional/themes/light-colorblind.json +41 -11
- package/dist/docs/functional/themes/light-high-contrast.json +41 -11
- package/dist/docs/functional/themes/light-tritanopia-high-contrast.json +41 -11
- package/dist/docs/functional/themes/light-tritanopia.json +41 -11
- package/dist/docs/functional/themes/light.json +41 -11
- package/dist/fallbacks/color-fallbacks.json +1 -0
- package/dist/fallbacks/functional/size/border.json +2 -0
- package/dist/figma/dimension/dimension.json +46 -22
- package/dist/figma/figma.json +1 -1
- package/dist/figma/themes/dark-colorblind.json +34 -17
- package/dist/figma/themes/dark-dimmed.json +34 -17
- package/dist/figma/themes/dark-high-contrast.json +34 -17
- package/dist/figma/themes/dark-tritanopia.json +34 -17
- package/dist/figma/themes/dark.json +34 -17
- package/dist/figma/themes/light-colorblind.json +34 -17
- package/dist/figma/themes/light-high-contrast.json +34 -17
- package/dist/figma/themes/light-tritanopia.json +34 -17
- package/dist/figma/themes/light.json +34 -17
- package/dist/internalCss/dark-colorblind-high-contrast.css +64 -74
- package/dist/internalCss/dark-colorblind.css +64 -74
- package/dist/internalCss/dark-dimmed-high-contrast.css +64 -74
- package/dist/internalCss/dark-dimmed.css +64 -74
- package/dist/internalCss/dark-high-contrast.css +64 -74
- package/dist/internalCss/dark-tritanopia-high-contrast.css +64 -74
- package/dist/internalCss/dark-tritanopia.css +64 -74
- package/dist/internalCss/dark.css +64 -74
- package/dist/internalCss/light-colorblind-high-contrast.css +64 -74
- package/dist/internalCss/light-colorblind.css +64 -74
- package/dist/internalCss/light-high-contrast.css +64 -74
- package/dist/internalCss/light-tritanopia-high-contrast.css +64 -74
- package/dist/internalCss/light-tritanopia.css +64 -74
- package/dist/internalCss/light.css +64 -74
- package/dist/styleLint/functional/size/border.json +75 -13
- package/dist/styleLint/functional/themes/dark-colorblind-high-contrast.json +44 -10
- package/dist/styleLint/functional/themes/dark-colorblind.json +44 -10
- package/dist/styleLint/functional/themes/dark-dimmed-high-contrast.json +44 -10
- package/dist/styleLint/functional/themes/dark-dimmed.json +44 -10
- package/dist/styleLint/functional/themes/dark-high-contrast.json +44 -10
- package/dist/styleLint/functional/themes/dark-tritanopia-high-contrast.json +44 -10
- package/dist/styleLint/functional/themes/dark-tritanopia.json +44 -10
- package/dist/styleLint/functional/themes/dark.json +44 -10
- package/dist/styleLint/functional/themes/light-colorblind-high-contrast.json +44 -10
- package/dist/styleLint/functional/themes/light-colorblind.json +44 -10
- package/dist/styleLint/functional/themes/light-high-contrast.json +44 -10
- package/dist/styleLint/functional/themes/light-tritanopia-high-contrast.json +44 -10
- package/dist/styleLint/functional/themes/light-tritanopia.json +44 -10
- package/dist/styleLint/functional/themes/light.json +44 -10
- package/package.json +14 -13
- package/src/tokens/component/focus.json5 +104 -0
- package/src/tokens/fallback/color-fallbacks.json +1 -0
- package/src/tokens/functional/border/border.json5 +0 -20
- package/src/tokens/functional/size/border.json5 +0 -30
- package/src/tokens/functional/color/focus.json5 +0 -20
package/DESIGN_TOKENS_SPEC.md
CHANGED
|
@@ -400,11 +400,16 @@ Focus ring outline for keyboard navigation and accessibility.
|
|
|
400
400
|
**U:** accessibility-indicator, focus-ring, keyboard-navigation
|
|
401
401
|
**R:** Always ensure focus states are visible. Do not override with custom focus styles that reduce visibility. Use for interactive elements like buttons, links, and form controls.
|
|
402
402
|
|
|
403
|
-
### focus-
|
|
403
|
+
### focus-outline-color
|
|
404
404
|
Outline color for focus states on interactive elements
|
|
405
405
|
**U:** accessibility-indicator, focus-ring, keyboard-navigation
|
|
406
406
|
**R:** Use for focus outlines on interactive elements like buttons, links, and form controls. MUST be visible for keyboard navigation accessibility. Do NOT use for decorative borders or non-interactive elements.
|
|
407
407
|
|
|
408
|
+
### focus-outline-width
|
|
409
|
+
Focus outline width (2px). Standard width for keyboard focus indicators to meet WCAG 2.4.7 accessibility requirements
|
|
410
|
+
**U:** accessibility, focus-ring, keyboard-focus
|
|
411
|
+
**R:** MUST use for all keyboard focus indicators. Required for WCAG 2.4.7 compliance.
|
|
412
|
+
|
|
408
413
|
## Font Stacks
|
|
409
414
|
|
|
410
415
|
Font family tokens.
|
|
@@ -424,15 +429,6 @@ Display font stack for headings and titles. Same as sansSerif but semantically d
|
|
|
424
429
|
**U:** display-text, heading, title
|
|
425
430
|
**R:** Use for headings and display text. Prefer over sansSerif for titles.
|
|
426
431
|
|
|
427
|
-
## Outline
|
|
428
|
-
|
|
429
|
-
Outline tokens for focus indicators.
|
|
430
|
-
|
|
431
|
-
### outline-focus-width
|
|
432
|
-
Focus outline width (2px). Standard width for keyboard focus indicators to meet WCAG 2.4.7 accessibility requirements
|
|
433
|
-
**U:** accessibility, focus-ring, keyboard-focus
|
|
434
|
-
**R:** MUST use for all keyboard focus indicators. Required for WCAG 2.4.7 compliance.
|
|
435
|
-
|
|
436
432
|
## Overlay
|
|
437
433
|
|
|
438
434
|
Tokens for modals, dialogs, popovers, and dropdown menus.
|
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
import { isFromFile, isSource } from '../filters/index.js';
|
|
2
2
|
import { outputReferencesTransformed, outputReferencesFilter } from 'style-dictionary/utils';
|
|
3
|
+
/**
|
|
4
|
+
* Determines whether a token's value should use CSS variable references.
|
|
5
|
+
*
|
|
6
|
+
* For most tokens, we check both that referenced tokens are in the current output
|
|
7
|
+
* (outputReferencesFilter) and that the string replacement is valid (outputReferencesTransformed).
|
|
8
|
+
*
|
|
9
|
+
* Composite border tokens need special handling because:
|
|
10
|
+
* 1. outputReferencesTransformed returns false for object original values
|
|
11
|
+
* 2. outputReferencesFilter returns false because width tokens are in a separate CSS file
|
|
12
|
+
* Style Dictionary's formatter correctly handles var() substitution in flattened composite strings,
|
|
13
|
+
* and the referenced tokens (borderColor.*, borderWidth.*, focus.outline-*) all exist as CSS variables at runtime.
|
|
14
|
+
*/
|
|
15
|
+
const shouldOutputReferences = (token, platformOptions) => {
|
|
16
|
+
if (token.$type === 'border') {
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
return outputReferencesFilter(token, platformOptions) && outputReferencesTransformed(token, platformOptions);
|
|
20
|
+
};
|
|
3
21
|
const getCssSelectors = (outputFile) => {
|
|
4
22
|
// check for dark in the beginning of the output filename
|
|
5
23
|
const lastSlash = outputFile.lastIndexOf('/');
|
|
@@ -49,11 +67,12 @@ export const css = (outputFile, prefix, buildPath, options) => {
|
|
|
49
67
|
filter: token => isSource(token) &&
|
|
50
68
|
(options === null || options === void 0 ? void 0 : options.themed) === true &&
|
|
51
69
|
token.$type !== 'custom-viewportRange' &&
|
|
70
|
+
token.$type !== 'dimension' &&
|
|
52
71
|
!isFromFile(token, [
|
|
53
72
|
'src/tokens/functional/size/size-coarse.json5',
|
|
54
73
|
'src/tokens/functional/size/size-fine.json5',
|
|
55
74
|
]),
|
|
56
|
-
options: Object.assign({ showFileHeader: false, outputReferences:
|
|
75
|
+
options: Object.assign({ showFileHeader: false, outputReferences: shouldOutputReferences, descriptions: false, queries: getCssSelectors(outputFile) }, options === null || options === void 0 ? void 0 : options.options),
|
|
57
76
|
},
|
|
58
77
|
{
|
|
59
78
|
destination: `${outputFile}`,
|
|
@@ -65,7 +84,7 @@ export const css = (outputFile, prefix, buildPath, options) => {
|
|
|
65
84
|
'src/tokens/functional/size/size-coarse.json5',
|
|
66
85
|
'src/tokens/functional/size/size-fine.json5',
|
|
67
86
|
]),
|
|
68
|
-
options: Object.assign({ showFileHeader: false, outputReferences:
|
|
87
|
+
options: Object.assign({ showFileHeader: false, outputReferences: shouldOutputReferences, descriptions: false }, options === null || options === void 0 ? void 0 : options.options),
|
|
69
88
|
},
|
|
70
89
|
{
|
|
71
90
|
destination: `${outputFile}`,
|
|
@@ -73,7 +92,7 @@ export const css = (outputFile, prefix, buildPath, options) => {
|
|
|
73
92
|
filter: token => isSource(token) && (options === null || options === void 0 ? void 0 : options.themed) !== true && token.$type === 'custom-viewportRange',
|
|
74
93
|
options: {
|
|
75
94
|
showFileHeader: false,
|
|
76
|
-
outputReferences:
|
|
95
|
+
outputReferences: shouldOutputReferences,
|
|
77
96
|
},
|
|
78
97
|
},
|
|
79
98
|
{
|
|
@@ -86,7 +105,7 @@ export const css = (outputFile, prefix, buildPath, options) => {
|
|
|
86
105
|
]),
|
|
87
106
|
options: {
|
|
88
107
|
descriptions: false,
|
|
89
|
-
outputReferences:
|
|
108
|
+
outputReferences: shouldOutputReferences,
|
|
90
109
|
showFileHeader: false,
|
|
91
110
|
queries: [
|
|
92
111
|
{
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
--borderWidth-thick: 0.125rem; /** Thick 2px border for emphasis. Use for focus indicators, selected states, or to emphasize important boundaries */
|
|
3
3
|
--borderWidth-thicker: 0.25rem; /** Extra thick 4px border for maximum emphasis. Use sparingly for high-contrast focus indicators or critical visual separators */
|
|
4
4
|
--borderWidth-thin: 0.0625rem; /** Standard 1px border width. Use for most borders, dividers, and outlines throughout the interface */
|
|
5
|
-
--outline-
|
|
6
|
-
--outline-
|
|
5
|
+
--focus-outline-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 */
|
|
6
|
+
--focus-outline-width: 0.125rem; /** Focus outline width (2px). Standard width for keyboard focus indicators to meet WCAG 2.4.7 accessibility requirements */
|
|
7
7
|
--borderWidth-default: var(--borderWidth-thin); /** Default border width for most UI elements. Alias of borderWidth.thin (1px) */
|
|
8
8
|
--boxShadow-thick: inset 0 0 0 var(--borderWidth-thick); /** Thick shadow (2px) used instead of a border for emphasis without layout shift */
|
|
9
9
|
--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 */
|
|
10
10
|
--boxShadow-thin: inset 0 0 0 var(--borderWidth-thin); /** Thin shadow used instead of a border to prevent layout shift */
|
|
11
|
+
--outline-focus-offset: var(--focus-outline-offset); /** Deprecated. Use focus.outline-offset instead. */
|
|
12
|
+
--outline-focus-width: var(--focus-outline-width); /** Deprecated. Use focus.outline-width instead. */
|
|
11
13
|
}
|
|
@@ -652,24 +652,24 @@
|
|
|
652
652
|
--bgColor-upsell-emphasis: var(--bgColor-done-emphasis); /** Strong background for prominent upsell elements */
|
|
653
653
|
--bgColor-upsell-muted: var(--bgColor-done-muted); /** Subtle background for upsell and promotional content */
|
|
654
654
|
--bgColor-white: #ffffff; /** Pure white background */
|
|
655
|
-
--border-accent-emphasis:
|
|
656
|
-
--border-accent-muted:
|
|
657
|
-
--border-attention-emphasis:
|
|
658
|
-
--border-attention-muted:
|
|
659
|
-
--border-danger-emphasis:
|
|
660
|
-
--border-danger-muted:
|
|
661
|
-
--border-default:
|
|
662
|
-
--border-disabled:
|
|
663
|
-
--border-done-emphasis:
|
|
664
|
-
--border-done-muted:
|
|
665
|
-
--border-severe-emphasis:
|
|
666
|
-
--border-severe-muted:
|
|
667
|
-
--border-sponsors-emphasis:
|
|
668
|
-
--border-sponsors-muted:
|
|
669
|
-
--border-success-emphasis:
|
|
670
|
-
--border-success-muted:
|
|
671
|
-
--border-translucent:
|
|
672
|
-
--border-transparent:
|
|
655
|
+
--border-accent-emphasis: var(--borderWidth-default) solid var(--borderColor-accent-emphasis);
|
|
656
|
+
--border-accent-muted: var(--borderWidth-default) solid var(--borderColor-accent-muted);
|
|
657
|
+
--border-attention-emphasis: var(--borderWidth-default) solid var(--borderColor-attention-emphasis);
|
|
658
|
+
--border-attention-muted: var(--borderWidth-default) solid var(--borderColor-attention-muted);
|
|
659
|
+
--border-danger-emphasis: var(--borderWidth-default) solid var(--borderColor-danger-emphasis);
|
|
660
|
+
--border-danger-muted: var(--borderWidth-default) solid var(--borderColor-danger-muted);
|
|
661
|
+
--border-default: var(--borderWidth-default) solid var(--borderColor-default);
|
|
662
|
+
--border-disabled: var(--borderWidth-default) solid var(--borderColor-disabled);
|
|
663
|
+
--border-done-emphasis: var(--borderWidth-default) solid var(--borderColor-done-emphasis);
|
|
664
|
+
--border-done-muted: var(--borderWidth-default) solid var(--borderColor-done-muted);
|
|
665
|
+
--border-severe-emphasis: var(--borderWidth-default) solid var(--borderColor-severe-emphasis);
|
|
666
|
+
--border-severe-muted: var(--borderWidth-default) solid var(--borderColor-severe-muted);
|
|
667
|
+
--border-sponsors-emphasis: var(--borderWidth-default) solid var(--borderColor-sponsors-emphasis);
|
|
668
|
+
--border-sponsors-muted: var(--borderWidth-default) solid var(--borderColor-sponsors-muted);
|
|
669
|
+
--border-success-emphasis: var(--borderWidth-default) solid var(--borderColor-success-emphasis);
|
|
670
|
+
--border-success-muted: var(--borderWidth-default) solid var(--borderColor-success-muted);
|
|
671
|
+
--border-translucent: var(--borderWidth-default) solid var(--borderColor-translucent); /** Semi-transparent border shorthand for overlays and layered elements. Border-specific token — no bgColor-translucent counterpart exists by design. */
|
|
672
|
+
--border-transparent: var(--borderWidth-default) solid var(--borderColor-transparent);
|
|
673
673
|
--borderColor-closed-muted: var(--borderColor-default); /** Subtle border for closed state indicators */
|
|
674
674
|
--borderColor-draft-muted: var(--borderColor-default); /** Subtle border for draft state indicators */
|
|
675
675
|
--borderColor-emphasis: var(--borderColor-default); /** Strong border for emphasis and visual weight */
|
|
@@ -765,7 +765,7 @@
|
|
|
765
765
|
--fgColor-onEmphasis: #ffffff; /** Text color for use on emphasis backgrounds */
|
|
766
766
|
--fgColor-onInverse: #010409; /** Text color for use on inverse backgrounds */
|
|
767
767
|
--fgColor-white: #ffffff; /** Pure white text */
|
|
768
|
-
--focus-
|
|
768
|
+
--focus-outline-color: var(--borderColor-accent-emphasis); /** Outline color for focus states on interactive elements */
|
|
769
769
|
--header-fgColor-default: #ffffffb3;
|
|
770
770
|
--label-auburn-borderColor: var(--label-auburn-fgColor-rest);
|
|
771
771
|
--label-blue-borderColor: var(--label-blue-fgColor-rest);
|
|
@@ -808,13 +808,13 @@
|
|
|
808
808
|
--avatar-borderColor: var(--borderColor-emphasis);
|
|
809
809
|
--border-closed-emphasis: var(--border-danger-emphasis);
|
|
810
810
|
--border-closed-muted: var(--border-danger-muted);
|
|
811
|
-
--border-draft-muted:
|
|
812
|
-
--border-emphasis:
|
|
813
|
-
--border-muted:
|
|
811
|
+
--border-draft-muted: var(--borderWidth-default) solid var(--borderColor-draft-muted);
|
|
812
|
+
--border-emphasis: var(--borderWidth-default) solid var(--borderColor-emphasis);
|
|
813
|
+
--border-muted: var(--borderWidth-default) solid var(--borderColor-muted);
|
|
814
814
|
--border-open-emphasis: var(--border-success-emphasis);
|
|
815
815
|
--border-open-muted: var(--border-success-muted);
|
|
816
|
-
--border-upsell-emphasis:
|
|
817
|
-
--border-upsell-muted:
|
|
816
|
+
--border-upsell-emphasis: var(--borderWidth-default) solid var(--borderColor-upsell-emphasis);
|
|
817
|
+
--border-upsell-muted: var(--borderWidth-default) solid var(--borderColor-upsell-muted);
|
|
818
818
|
--borderColor-closed-emphasis: var(--borderColor-emphasis); /** Strong border for closed state badges */
|
|
819
819
|
--borderColor-neutral-emphasis: var(--borderColor-emphasis); /** Strong neutral semantic border */
|
|
820
820
|
--borderColor-neutral-muted: var(--borderColor-muted); /** Subtle neutral semantic border */
|
|
@@ -876,7 +876,8 @@
|
|
|
876
876
|
--diffBlob-expander-iconColor: var(--fgColor-default);
|
|
877
877
|
--diffBlob-hunkNum-fgColor-hover: var(--fgColor-onEmphasis);
|
|
878
878
|
--diffBlob-hunkNum-fgColor-rest: var(--fgColor-default);
|
|
879
|
-
--focus-outline:
|
|
879
|
+
--focus-outline: var(--focus-outline-width) solid var(--focus-outline-color); /** Focus ring outline for keyboard navigation and accessibility. */
|
|
880
|
+
--focus-outlineColor: var(--focus-outline-color); /** Deprecated. Use focus.outline-color instead. */
|
|
880
881
|
--page-header-bgColor: var(--bgColor-default);
|
|
881
882
|
--progressBar-track-bgColor: var(--bgColor-inverse);
|
|
882
883
|
--shadow-floating-large: 0 0 0 1px #b7bdc8, 0 24px 48px 0 #010409; /** Large floating shadow for modals and dialogs */
|
|
@@ -885,8 +886,8 @@
|
|
|
885
886
|
--shadow-floating-xlarge: 0 0 0 1px #b7bdc8, 0 32px 64px 0 #010409; /** Extra large floating shadow for full-screen overlays and sheets */
|
|
886
887
|
--tooltip-bgColor: var(--bgColor-inverse);
|
|
887
888
|
--tooltip-fgColor: var(--fgColor-onInverse);
|
|
888
|
-
--border-neutral-emphasis:
|
|
889
|
-
--border-neutral-muted:
|
|
889
|
+
--border-neutral-emphasis: var(--borderWidth-default) solid var(--borderColor-neutral-emphasis);
|
|
890
|
+
--border-neutral-muted: var(--borderWidth-default) solid var(--borderColor-neutral-muted);
|
|
890
891
|
--borderColor-draft-emphasis: var(--borderColor-neutral-emphasis); /** Strong border for draft state badges */
|
|
891
892
|
--button-default-borderColor-active: var(--button-default-borderColor-rest);
|
|
892
893
|
--button-default-borderColor-hover: var(--button-default-borderColor-rest);
|
|
@@ -900,7 +901,7 @@
|
|
|
900
901
|
--controlKnob-borderColor-rest: var(--control-borderColor-emphasis);
|
|
901
902
|
--progressBar-track-borderColor: var(--progressBar-track-bgColor);
|
|
902
903
|
--underlineNav-borderColor-hover: var(--borderColor-neutral-muted);
|
|
903
|
-
--border-draft-emphasis:
|
|
904
|
+
--border-draft-emphasis: var(--borderWidth-default) solid var(--borderColor-draft-emphasis);
|
|
904
905
|
--button-outline-borderColor-hover: var(--button-default-borderColor-hover);
|
|
905
906
|
--button-outline-borderColor-active: var(--button-outline-borderColor-hover);
|
|
906
907
|
}
|
|
@@ -1554,24 +1555,24 @@
|
|
|
1554
1555
|
--bgColor-upsell-emphasis: var(--bgColor-done-emphasis); /** Strong background for prominent upsell elements */
|
|
1555
1556
|
--bgColor-upsell-muted: var(--bgColor-done-muted); /** Subtle background for upsell and promotional content */
|
|
1556
1557
|
--bgColor-white: #ffffff; /** Pure white background */
|
|
1557
|
-
--border-accent-emphasis:
|
|
1558
|
-
--border-accent-muted:
|
|
1559
|
-
--border-attention-emphasis:
|
|
1560
|
-
--border-attention-muted:
|
|
1561
|
-
--border-danger-emphasis:
|
|
1562
|
-
--border-danger-muted:
|
|
1563
|
-
--border-default:
|
|
1564
|
-
--border-disabled:
|
|
1565
|
-
--border-done-emphasis:
|
|
1566
|
-
--border-done-muted:
|
|
1567
|
-
--border-severe-emphasis:
|
|
1568
|
-
--border-severe-muted:
|
|
1569
|
-
--border-sponsors-emphasis:
|
|
1570
|
-
--border-sponsors-muted:
|
|
1571
|
-
--border-success-emphasis:
|
|
1572
|
-
--border-success-muted:
|
|
1573
|
-
--border-translucent:
|
|
1574
|
-
--border-transparent:
|
|
1558
|
+
--border-accent-emphasis: var(--borderWidth-default) solid var(--borderColor-accent-emphasis);
|
|
1559
|
+
--border-accent-muted: var(--borderWidth-default) solid var(--borderColor-accent-muted);
|
|
1560
|
+
--border-attention-emphasis: var(--borderWidth-default) solid var(--borderColor-attention-emphasis);
|
|
1561
|
+
--border-attention-muted: var(--borderWidth-default) solid var(--borderColor-attention-muted);
|
|
1562
|
+
--border-danger-emphasis: var(--borderWidth-default) solid var(--borderColor-danger-emphasis);
|
|
1563
|
+
--border-danger-muted: var(--borderWidth-default) solid var(--borderColor-danger-muted);
|
|
1564
|
+
--border-default: var(--borderWidth-default) solid var(--borderColor-default);
|
|
1565
|
+
--border-disabled: var(--borderWidth-default) solid var(--borderColor-disabled);
|
|
1566
|
+
--border-done-emphasis: var(--borderWidth-default) solid var(--borderColor-done-emphasis);
|
|
1567
|
+
--border-done-muted: var(--borderWidth-default) solid var(--borderColor-done-muted);
|
|
1568
|
+
--border-severe-emphasis: var(--borderWidth-default) solid var(--borderColor-severe-emphasis);
|
|
1569
|
+
--border-severe-muted: var(--borderWidth-default) solid var(--borderColor-severe-muted);
|
|
1570
|
+
--border-sponsors-emphasis: var(--borderWidth-default) solid var(--borderColor-sponsors-emphasis);
|
|
1571
|
+
--border-sponsors-muted: var(--borderWidth-default) solid var(--borderColor-sponsors-muted);
|
|
1572
|
+
--border-success-emphasis: var(--borderWidth-default) solid var(--borderColor-success-emphasis);
|
|
1573
|
+
--border-success-muted: var(--borderWidth-default) solid var(--borderColor-success-muted);
|
|
1574
|
+
--border-translucent: var(--borderWidth-default) solid var(--borderColor-translucent); /** Semi-transparent border shorthand for overlays and layered elements. Border-specific token — no bgColor-translucent counterpart exists by design. */
|
|
1575
|
+
--border-transparent: var(--borderWidth-default) solid var(--borderColor-transparent);
|
|
1575
1576
|
--borderColor-closed-muted: var(--borderColor-default); /** Subtle border for closed state indicators */
|
|
1576
1577
|
--borderColor-draft-muted: var(--borderColor-default); /** Subtle border for draft state indicators */
|
|
1577
1578
|
--borderColor-emphasis: var(--borderColor-default); /** Strong border for emphasis and visual weight */
|
|
@@ -1667,7 +1668,7 @@
|
|
|
1667
1668
|
--fgColor-onEmphasis: #ffffff; /** Text color for use on emphasis backgrounds */
|
|
1668
1669
|
--fgColor-onInverse: #010409; /** Text color for use on inverse backgrounds */
|
|
1669
1670
|
--fgColor-white: #ffffff; /** Pure white text */
|
|
1670
|
-
--focus-
|
|
1671
|
+
--focus-outline-color: var(--borderColor-accent-emphasis); /** Outline color for focus states on interactive elements */
|
|
1671
1672
|
--header-fgColor-default: #ffffffb3;
|
|
1672
1673
|
--label-auburn-borderColor: var(--label-auburn-fgColor-rest);
|
|
1673
1674
|
--label-blue-borderColor: var(--label-blue-fgColor-rest);
|
|
@@ -1710,13 +1711,13 @@
|
|
|
1710
1711
|
--avatar-borderColor: var(--borderColor-emphasis);
|
|
1711
1712
|
--border-closed-emphasis: var(--border-danger-emphasis);
|
|
1712
1713
|
--border-closed-muted: var(--border-danger-muted);
|
|
1713
|
-
--border-draft-muted:
|
|
1714
|
-
--border-emphasis:
|
|
1715
|
-
--border-muted:
|
|
1714
|
+
--border-draft-muted: var(--borderWidth-default) solid var(--borderColor-draft-muted);
|
|
1715
|
+
--border-emphasis: var(--borderWidth-default) solid var(--borderColor-emphasis);
|
|
1716
|
+
--border-muted: var(--borderWidth-default) solid var(--borderColor-muted);
|
|
1716
1717
|
--border-open-emphasis: var(--border-success-emphasis);
|
|
1717
1718
|
--border-open-muted: var(--border-success-muted);
|
|
1718
|
-
--border-upsell-emphasis:
|
|
1719
|
-
--border-upsell-muted:
|
|
1719
|
+
--border-upsell-emphasis: var(--borderWidth-default) solid var(--borderColor-upsell-emphasis);
|
|
1720
|
+
--border-upsell-muted: var(--borderWidth-default) solid var(--borderColor-upsell-muted);
|
|
1720
1721
|
--borderColor-closed-emphasis: var(--borderColor-emphasis); /** Strong border for closed state badges */
|
|
1721
1722
|
--borderColor-neutral-emphasis: var(--borderColor-emphasis); /** Strong neutral semantic border */
|
|
1722
1723
|
--borderColor-neutral-muted: var(--borderColor-muted); /** Subtle neutral semantic border */
|
|
@@ -1778,7 +1779,8 @@
|
|
|
1778
1779
|
--diffBlob-expander-iconColor: var(--fgColor-default);
|
|
1779
1780
|
--diffBlob-hunkNum-fgColor-hover: var(--fgColor-onEmphasis);
|
|
1780
1781
|
--diffBlob-hunkNum-fgColor-rest: var(--fgColor-default);
|
|
1781
|
-
--focus-outline:
|
|
1782
|
+
--focus-outline: var(--focus-outline-width) solid var(--focus-outline-color); /** Focus ring outline for keyboard navigation and accessibility. */
|
|
1783
|
+
--focus-outlineColor: var(--focus-outline-color); /** Deprecated. Use focus.outline-color instead. */
|
|
1782
1784
|
--page-header-bgColor: var(--bgColor-default);
|
|
1783
1785
|
--progressBar-track-bgColor: var(--bgColor-inverse);
|
|
1784
1786
|
--shadow-floating-large: 0 0 0 1px #b7bdc8, 0 24px 48px 0 #010409; /** Large floating shadow for modals and dialogs */
|
|
@@ -1787,8 +1789,8 @@
|
|
|
1787
1789
|
--shadow-floating-xlarge: 0 0 0 1px #b7bdc8, 0 32px 64px 0 #010409; /** Extra large floating shadow for full-screen overlays and sheets */
|
|
1788
1790
|
--tooltip-bgColor: var(--bgColor-inverse);
|
|
1789
1791
|
--tooltip-fgColor: var(--fgColor-onInverse);
|
|
1790
|
-
--border-neutral-emphasis:
|
|
1791
|
-
--border-neutral-muted:
|
|
1792
|
+
--border-neutral-emphasis: var(--borderWidth-default) solid var(--borderColor-neutral-emphasis);
|
|
1793
|
+
--border-neutral-muted: var(--borderWidth-default) solid var(--borderColor-neutral-muted);
|
|
1792
1794
|
--borderColor-draft-emphasis: var(--borderColor-neutral-emphasis); /** Strong border for draft state badges */
|
|
1793
1795
|
--button-default-borderColor-active: var(--button-default-borderColor-rest);
|
|
1794
1796
|
--button-default-borderColor-hover: var(--button-default-borderColor-rest);
|
|
@@ -1802,7 +1804,7 @@
|
|
|
1802
1804
|
--controlKnob-borderColor-rest: var(--control-borderColor-emphasis);
|
|
1803
1805
|
--progressBar-track-borderColor: var(--progressBar-track-bgColor);
|
|
1804
1806
|
--underlineNav-borderColor-hover: var(--borderColor-neutral-muted);
|
|
1805
|
-
--border-draft-emphasis:
|
|
1807
|
+
--border-draft-emphasis: var(--borderWidth-default) solid var(--borderColor-draft-emphasis);
|
|
1806
1808
|
--button-outline-borderColor-hover: var(--button-default-borderColor-hover);
|
|
1807
1809
|
--button-outline-borderColor-active: var(--button-outline-borderColor-hover);
|
|
1808
1810
|
}
|
|
@@ -671,24 +671,24 @@
|
|
|
671
671
|
--bgColor-upsell-emphasis: var(--bgColor-done-emphasis); /** Strong background for prominent upsell elements */
|
|
672
672
|
--bgColor-upsell-muted: var(--bgColor-done-muted); /** Subtle background for upsell and promotional content */
|
|
673
673
|
--bgColor-white: #ffffff; /** Pure white background */
|
|
674
|
-
--border-accent-emphasis:
|
|
675
|
-
--border-accent-muted:
|
|
676
|
-
--border-attention-emphasis:
|
|
677
|
-
--border-attention-muted:
|
|
678
|
-
--border-danger-emphasis:
|
|
679
|
-
--border-danger-muted:
|
|
680
|
-
--border-default:
|
|
681
|
-
--border-disabled:
|
|
682
|
-
--border-done-emphasis:
|
|
683
|
-
--border-done-muted:
|
|
684
|
-
--border-emphasis:
|
|
685
|
-
--border-severe-emphasis:
|
|
686
|
-
--border-severe-muted:
|
|
687
|
-
--border-sponsors-emphasis:
|
|
688
|
-
--border-sponsors-muted:
|
|
689
|
-
--border-success-emphasis:
|
|
690
|
-
--border-success-muted:
|
|
691
|
-
--border-transparent:
|
|
674
|
+
--border-accent-emphasis: var(--borderWidth-default) solid var(--borderColor-accent-emphasis);
|
|
675
|
+
--border-accent-muted: var(--borderWidth-default) solid var(--borderColor-accent-muted);
|
|
676
|
+
--border-attention-emphasis: var(--borderWidth-default) solid var(--borderColor-attention-emphasis);
|
|
677
|
+
--border-attention-muted: var(--borderWidth-default) solid var(--borderColor-attention-muted);
|
|
678
|
+
--border-danger-emphasis: var(--borderWidth-default) solid var(--borderColor-danger-emphasis);
|
|
679
|
+
--border-danger-muted: var(--borderWidth-default) solid var(--borderColor-danger-muted);
|
|
680
|
+
--border-default: var(--borderWidth-default) solid var(--borderColor-default);
|
|
681
|
+
--border-disabled: var(--borderWidth-default) solid var(--borderColor-disabled);
|
|
682
|
+
--border-done-emphasis: var(--borderWidth-default) solid var(--borderColor-done-emphasis);
|
|
683
|
+
--border-done-muted: var(--borderWidth-default) solid var(--borderColor-done-muted);
|
|
684
|
+
--border-emphasis: var(--borderWidth-default) solid var(--borderColor-emphasis);
|
|
685
|
+
--border-severe-emphasis: var(--borderWidth-default) solid var(--borderColor-severe-emphasis);
|
|
686
|
+
--border-severe-muted: var(--borderWidth-default) solid var(--borderColor-severe-muted);
|
|
687
|
+
--border-sponsors-emphasis: var(--borderWidth-default) solid var(--borderColor-sponsors-emphasis);
|
|
688
|
+
--border-sponsors-muted: var(--borderWidth-default) solid var(--borderColor-sponsors-muted);
|
|
689
|
+
--border-success-emphasis: var(--borderWidth-default) solid var(--borderColor-success-emphasis);
|
|
690
|
+
--border-success-muted: var(--borderWidth-default) solid var(--borderColor-success-muted);
|
|
691
|
+
--border-transparent: var(--borderWidth-default) solid var(--borderColor-transparent);
|
|
692
692
|
--borderColor-closed-emphasis: var(--borderColor-emphasis); /** Strong border for closed state badges */
|
|
693
693
|
--borderColor-closed-muted: #3d444d66; /** Subtle border for closed state indicators */
|
|
694
694
|
--borderColor-draft-muted: #3d444d66; /** Subtle border for draft state indicators */
|
|
@@ -804,7 +804,7 @@
|
|
|
804
804
|
--fgColor-onInverse: #010409; /** Text color for use on inverse backgrounds */
|
|
805
805
|
--fgColor-upsell: var(--fgColor-done); /** Text color for upsell and promotional content */
|
|
806
806
|
--fgColor-white: #ffffff; /** Pure white text */
|
|
807
|
-
--focus-
|
|
807
|
+
--focus-outline-color: var(--borderColor-accent-emphasis); /** Outline color for focus states on interactive elements */
|
|
808
808
|
--header-fgColor-default: #ffffffb3;
|
|
809
809
|
--overlay-bgColor: #010409;
|
|
810
810
|
--page-header-bgColor: var(--bgColor-default);
|
|
@@ -830,14 +830,14 @@
|
|
|
830
830
|
--avatar-borderColor: var(--borderColor-translucent);
|
|
831
831
|
--border-closed-emphasis: var(--border-danger-emphasis);
|
|
832
832
|
--border-closed-muted: var(--border-danger-muted);
|
|
833
|
-
--border-draft-muted:
|
|
834
|
-
--border-muted:
|
|
835
|
-
--border-neutral-emphasis:
|
|
833
|
+
--border-draft-muted: var(--borderWidth-default) solid var(--borderColor-draft-muted);
|
|
834
|
+
--border-muted: var(--borderWidth-default) solid var(--borderColor-muted);
|
|
835
|
+
--border-neutral-emphasis: var(--borderWidth-default) solid var(--borderColor-neutral-emphasis);
|
|
836
836
|
--border-open-emphasis: var(--border-success-emphasis);
|
|
837
837
|
--border-open-muted: var(--border-success-muted);
|
|
838
|
-
--border-translucent:
|
|
839
|
-
--border-upsell-emphasis:
|
|
840
|
-
--border-upsell-muted:
|
|
838
|
+
--border-translucent: var(--borderWidth-default) solid var(--borderColor-translucent); /** Semi-transparent border shorthand for overlays and layered elements. Border-specific token — no bgColor-translucent counterpart exists by design. */
|
|
839
|
+
--border-upsell-emphasis: var(--borderWidth-default) solid var(--borderColor-upsell-emphasis);
|
|
840
|
+
--border-upsell-muted: var(--borderWidth-default) solid var(--borderColor-upsell-muted);
|
|
841
841
|
--borderColor-draft-emphasis: var(--borderColor-neutral-emphasis); /** Strong border for draft state badges */
|
|
842
842
|
--borderColor-neutral-muted: var(--borderColor-muted); /** Subtle neutral semantic border */
|
|
843
843
|
--button-danger-bgColor-disabled: var(--control-bgColor-disabled);
|
|
@@ -882,11 +882,12 @@
|
|
|
882
882
|
--controlTrack-fgColor-disabled: var(--fgColor-onEmphasis);
|
|
883
883
|
--dashboard-bgColor: var(--bgColor-inset);
|
|
884
884
|
--diffBlob-hunkNum-fgColor-hover: var(--fgColor-onEmphasis);
|
|
885
|
-
--focus-outline:
|
|
885
|
+
--focus-outline: var(--focus-outline-width) solid var(--focus-outline-color); /** Focus ring outline for keyboard navigation and accessibility. */
|
|
886
|
+
--focus-outlineColor: var(--focus-outline-color); /** Deprecated. Use focus.outline-color instead. */
|
|
886
887
|
--overlay-borderColor: var(--borderColor-muted);
|
|
887
888
|
--tooltip-fgColor: var(--fgColor-onEmphasis);
|
|
888
|
-
--border-draft-emphasis:
|
|
889
|
-
--border-neutral-muted:
|
|
889
|
+
--border-draft-emphasis: var(--borderWidth-default) solid var(--borderColor-draft-emphasis);
|
|
890
|
+
--border-neutral-muted: var(--borderWidth-default) solid var(--borderColor-neutral-muted);
|
|
890
891
|
--button-danger-borderColor-hover: var(--button-primary-borderColor-rest);
|
|
891
892
|
--button-default-borderColor-active: var(--button-default-borderColor-rest);
|
|
892
893
|
--button-default-borderColor-hover: var(--button-default-borderColor-rest);
|
|
@@ -1573,24 +1574,24 @@
|
|
|
1573
1574
|
--bgColor-upsell-emphasis: var(--bgColor-done-emphasis); /** Strong background for prominent upsell elements */
|
|
1574
1575
|
--bgColor-upsell-muted: var(--bgColor-done-muted); /** Subtle background for upsell and promotional content */
|
|
1575
1576
|
--bgColor-white: #ffffff; /** Pure white background */
|
|
1576
|
-
--border-accent-emphasis:
|
|
1577
|
-
--border-accent-muted:
|
|
1578
|
-
--border-attention-emphasis:
|
|
1579
|
-
--border-attention-muted:
|
|
1580
|
-
--border-danger-emphasis:
|
|
1581
|
-
--border-danger-muted:
|
|
1582
|
-
--border-default:
|
|
1583
|
-
--border-disabled:
|
|
1584
|
-
--border-done-emphasis:
|
|
1585
|
-
--border-done-muted:
|
|
1586
|
-
--border-emphasis:
|
|
1587
|
-
--border-severe-emphasis:
|
|
1588
|
-
--border-severe-muted:
|
|
1589
|
-
--border-sponsors-emphasis:
|
|
1590
|
-
--border-sponsors-muted:
|
|
1591
|
-
--border-success-emphasis:
|
|
1592
|
-
--border-success-muted:
|
|
1593
|
-
--border-transparent:
|
|
1577
|
+
--border-accent-emphasis: var(--borderWidth-default) solid var(--borderColor-accent-emphasis);
|
|
1578
|
+
--border-accent-muted: var(--borderWidth-default) solid var(--borderColor-accent-muted);
|
|
1579
|
+
--border-attention-emphasis: var(--borderWidth-default) solid var(--borderColor-attention-emphasis);
|
|
1580
|
+
--border-attention-muted: var(--borderWidth-default) solid var(--borderColor-attention-muted);
|
|
1581
|
+
--border-danger-emphasis: var(--borderWidth-default) solid var(--borderColor-danger-emphasis);
|
|
1582
|
+
--border-danger-muted: var(--borderWidth-default) solid var(--borderColor-danger-muted);
|
|
1583
|
+
--border-default: var(--borderWidth-default) solid var(--borderColor-default);
|
|
1584
|
+
--border-disabled: var(--borderWidth-default) solid var(--borderColor-disabled);
|
|
1585
|
+
--border-done-emphasis: var(--borderWidth-default) solid var(--borderColor-done-emphasis);
|
|
1586
|
+
--border-done-muted: var(--borderWidth-default) solid var(--borderColor-done-muted);
|
|
1587
|
+
--border-emphasis: var(--borderWidth-default) solid var(--borderColor-emphasis);
|
|
1588
|
+
--border-severe-emphasis: var(--borderWidth-default) solid var(--borderColor-severe-emphasis);
|
|
1589
|
+
--border-severe-muted: var(--borderWidth-default) solid var(--borderColor-severe-muted);
|
|
1590
|
+
--border-sponsors-emphasis: var(--borderWidth-default) solid var(--borderColor-sponsors-emphasis);
|
|
1591
|
+
--border-sponsors-muted: var(--borderWidth-default) solid var(--borderColor-sponsors-muted);
|
|
1592
|
+
--border-success-emphasis: var(--borderWidth-default) solid var(--borderColor-success-emphasis);
|
|
1593
|
+
--border-success-muted: var(--borderWidth-default) solid var(--borderColor-success-muted);
|
|
1594
|
+
--border-transparent: var(--borderWidth-default) solid var(--borderColor-transparent);
|
|
1594
1595
|
--borderColor-closed-emphasis: var(--borderColor-emphasis); /** Strong border for closed state badges */
|
|
1595
1596
|
--borderColor-closed-muted: #3d444d66; /** Subtle border for closed state indicators */
|
|
1596
1597
|
--borderColor-draft-muted: #3d444d66; /** Subtle border for draft state indicators */
|
|
@@ -1706,7 +1707,7 @@
|
|
|
1706
1707
|
--fgColor-onInverse: #010409; /** Text color for use on inverse backgrounds */
|
|
1707
1708
|
--fgColor-upsell: var(--fgColor-done); /** Text color for upsell and promotional content */
|
|
1708
1709
|
--fgColor-white: #ffffff; /** Pure white text */
|
|
1709
|
-
--focus-
|
|
1710
|
+
--focus-outline-color: var(--borderColor-accent-emphasis); /** Outline color for focus states on interactive elements */
|
|
1710
1711
|
--header-fgColor-default: #ffffffb3;
|
|
1711
1712
|
--overlay-bgColor: #010409;
|
|
1712
1713
|
--page-header-bgColor: var(--bgColor-default);
|
|
@@ -1732,14 +1733,14 @@
|
|
|
1732
1733
|
--avatar-borderColor: var(--borderColor-translucent);
|
|
1733
1734
|
--border-closed-emphasis: var(--border-danger-emphasis);
|
|
1734
1735
|
--border-closed-muted: var(--border-danger-muted);
|
|
1735
|
-
--border-draft-muted:
|
|
1736
|
-
--border-muted:
|
|
1737
|
-
--border-neutral-emphasis:
|
|
1736
|
+
--border-draft-muted: var(--borderWidth-default) solid var(--borderColor-draft-muted);
|
|
1737
|
+
--border-muted: var(--borderWidth-default) solid var(--borderColor-muted);
|
|
1738
|
+
--border-neutral-emphasis: var(--borderWidth-default) solid var(--borderColor-neutral-emphasis);
|
|
1738
1739
|
--border-open-emphasis: var(--border-success-emphasis);
|
|
1739
1740
|
--border-open-muted: var(--border-success-muted);
|
|
1740
|
-
--border-translucent:
|
|
1741
|
-
--border-upsell-emphasis:
|
|
1742
|
-
--border-upsell-muted:
|
|
1741
|
+
--border-translucent: var(--borderWidth-default) solid var(--borderColor-translucent); /** Semi-transparent border shorthand for overlays and layered elements. Border-specific token — no bgColor-translucent counterpart exists by design. */
|
|
1742
|
+
--border-upsell-emphasis: var(--borderWidth-default) solid var(--borderColor-upsell-emphasis);
|
|
1743
|
+
--border-upsell-muted: var(--borderWidth-default) solid var(--borderColor-upsell-muted);
|
|
1743
1744
|
--borderColor-draft-emphasis: var(--borderColor-neutral-emphasis); /** Strong border for draft state badges */
|
|
1744
1745
|
--borderColor-neutral-muted: var(--borderColor-muted); /** Subtle neutral semantic border */
|
|
1745
1746
|
--button-danger-bgColor-disabled: var(--control-bgColor-disabled);
|
|
@@ -1784,11 +1785,12 @@
|
|
|
1784
1785
|
--controlTrack-fgColor-disabled: var(--fgColor-onEmphasis);
|
|
1785
1786
|
--dashboard-bgColor: var(--bgColor-inset);
|
|
1786
1787
|
--diffBlob-hunkNum-fgColor-hover: var(--fgColor-onEmphasis);
|
|
1787
|
-
--focus-outline:
|
|
1788
|
+
--focus-outline: var(--focus-outline-width) solid var(--focus-outline-color); /** Focus ring outline for keyboard navigation and accessibility. */
|
|
1789
|
+
--focus-outlineColor: var(--focus-outline-color); /** Deprecated. Use focus.outline-color instead. */
|
|
1788
1790
|
--overlay-borderColor: var(--borderColor-muted);
|
|
1789
1791
|
--tooltip-fgColor: var(--fgColor-onEmphasis);
|
|
1790
|
-
--border-draft-emphasis:
|
|
1791
|
-
--border-neutral-muted:
|
|
1792
|
+
--border-draft-emphasis: var(--borderWidth-default) solid var(--borderColor-draft-emphasis);
|
|
1793
|
+
--border-neutral-muted: var(--borderWidth-default) solid var(--borderColor-neutral-muted);
|
|
1792
1794
|
--button-danger-borderColor-hover: var(--button-primary-borderColor-rest);
|
|
1793
1795
|
--button-default-borderColor-active: var(--button-default-borderColor-rest);
|
|
1794
1796
|
--button-default-borderColor-hover: var(--button-default-borderColor-rest);
|