@primer/primitives 11.8.0-rc.fe40f878 → 11.8.1-rc.42f5a787
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 +37 -5
- package/README.md +5 -0
- package/dist/build/filters/isDeprecated.js +3 -1
- package/dist/build/transformers/jsonDeprecated.js +5 -1
- package/dist/css/functional/size/border.css +4 -4
- package/dist/css/functional/size/radius.css +5 -5
- package/dist/css/functional/spacing/space.css +8 -0
- package/dist/css/primitives.css +1 -0
- package/dist/deprecated/theme.json +5 -0
- package/dist/deprecated.json +5 -0
- package/dist/docs/functional/size/border.json +8 -8
- package/dist/docs/functional/size/radius.json +10 -10
- package/dist/docs/functional/spacing/space.json +224 -0
- package/dist/fallbacks/functional/spacing/space.json +8 -0
- package/dist/figma/dimension/dimension.json +9 -9
- package/dist/figma/figma.json +6 -6
- package/dist/figma/scales/dark-dimmed.json +629 -629
- package/dist/figma/scales/dark-high-constrast.json +628 -628
- package/dist/figma/scales/light-high-constrast.json +626 -626
- package/dist/{removed/color.json → removed.json} +8 -1
- package/dist/styleLint/functional/size/border.json +8 -8
- package/dist/styleLint/functional/size/radius.json +10 -10
- package/dist/styleLint/functional/spacing/space.json +224 -0
- package/package.json +3 -2
- package/src/tokens/functional/size/border.json5 +4 -4
- package/src/tokens/functional/size/radius.json5 +5 -5
- package/src/tokens/functional/spacing/space.json5 +94 -0
- package/src/tokens/{removed/color.json → removed.json} +8 -1
package/DESIGN_TOKENS_SPEC.md
CHANGED
|
@@ -160,22 +160,22 @@ Fully transparent border
|
|
|
160
160
|
Corner radius tokens for rounded elements.
|
|
161
161
|
|
|
162
162
|
### borderRadius-full
|
|
163
|
-
|
|
163
|
+
Shape token for fully rounded or pill-shaped elements.
|
|
164
164
|
**U:** avatar, circular-button, pill-badge
|
|
165
165
|
**R:** Use for avatars and pill-shaped elements. Do NOT use for rectangular containers.
|
|
166
166
|
|
|
167
167
|
### borderRadius-large
|
|
168
|
-
|
|
168
|
+
Scale token: 12px radius for larger surfaces or softer container treatments.
|
|
169
169
|
**U:** card, dialog, modal
|
|
170
170
|
**R:** Recommended for dialogs and modals.
|
|
171
171
|
|
|
172
172
|
### borderRadius-medium
|
|
173
|
-
|
|
173
|
+
Scale token: 6px radius in the border-radius scale. Use when selecting a specific radius intentionally.
|
|
174
174
|
**U:** button, input, textarea
|
|
175
175
|
**R:** Default choice for most components. Use for inputs, cards, and general containers.
|
|
176
176
|
|
|
177
177
|
### borderRadius-small
|
|
178
|
-
|
|
178
|
+
Scale token: 3px radius for compact UI elements or small component variants.
|
|
179
179
|
**U:** badge, label, tag
|
|
180
180
|
**R:** Use for small UI elements under 16px height. Do NOT use for buttons or cards.
|
|
181
181
|
|
|
@@ -184,7 +184,7 @@ Small border radius (3px). Use for small variants of components or small UI elem
|
|
|
184
184
|
Border thickness tokens.
|
|
185
185
|
|
|
186
186
|
### borderWidth-thick
|
|
187
|
-
|
|
187
|
+
Scale token: 2px border width for emphasis or focus states.
|
|
188
188
|
**U:** emphasis-border, focus-indicator, selected-state
|
|
189
189
|
**R:** MUST use for focus rings on interactive elements. Do NOT use for subtle dividers.
|
|
190
190
|
|
|
@@ -568,6 +568,38 @@ Extra small resting shadow for minimal elevation
|
|
|
568
568
|
**U:** badge, chip, small-card
|
|
569
569
|
**R:** Use for very subtle elevation on small elements. Provides minimal lift from surface. Do NOT use for interactive elements needing clear affordance.
|
|
570
570
|
|
|
571
|
+
## Space
|
|
572
|
+
|
|
573
|
+
### space-lg
|
|
574
|
+
Spacious spacing for major layout divisions and visual separation between content blocks.
|
|
575
|
+
**U:** gap, margin, padding
|
|
576
|
+
**R:** Spacious (16px). Use for major layout divisions, visual separation between content blocks, and primary container margins.
|
|
577
|
+
|
|
578
|
+
### space-md
|
|
579
|
+
Relaxed spacing for breathing room and comfortable internal container space.
|
|
580
|
+
**U:** gap, margin, padding
|
|
581
|
+
**R:** Relaxed (12px). Use for comfortable container padding, relaxed layouts, section separators, and breathing room in dense layouts.
|
|
582
|
+
|
|
583
|
+
### space-sm
|
|
584
|
+
Default spacing for most UI elements. Comfortable visual density for standard component layouts.
|
|
585
|
+
**U:** gap, margin, padding
|
|
586
|
+
**R:** Default (8px). Use for standard component spacing, flex/grid item separation, container padding, and most element margins.
|
|
587
|
+
|
|
588
|
+
### space-xl
|
|
589
|
+
Expansive spacing for large sections and top-level structure separation.
|
|
590
|
+
**U:** gap, margin, padding
|
|
591
|
+
**R:** Expansive (24px). Use for large section separation, top-level layout structure, major page divisions, and expansive breathing room.
|
|
592
|
+
|
|
593
|
+
### space-xs
|
|
594
|
+
Compact spacing for small badges, tight internal spacing, and minimal breathing room.
|
|
595
|
+
**U:** gap, margin, padding
|
|
596
|
+
**R:** Compact (4px). Use for small component spacing, tight list separations, badge padding, and minimal internal margins.
|
|
597
|
+
|
|
598
|
+
### space-xxs
|
|
599
|
+
Ultra-compact spacing for form field separators and tight visual divisions.
|
|
600
|
+
**U:** gap, margin, padding
|
|
601
|
+
**R:** Ultra-compact (2px). Use for form field separators, tight dividers, and minimal breathing room between small elements.
|
|
602
|
+
|
|
571
603
|
## Spinner
|
|
572
604
|
|
|
573
605
|
Loading spinner size and stroke tokens.
|
package/README.md
CHANGED
|
@@ -40,6 +40,9 @@ All available imports:
|
|
|
40
40
|
/* motion */
|
|
41
41
|
@import '@primer/primitives/dist/css/base/motion/motion.css';
|
|
42
42
|
|
|
43
|
+
/* spacing */
|
|
44
|
+
@import '@primer/primitives/dist/css/functional/spacing/space.css';
|
|
45
|
+
|
|
43
46
|
/* color */
|
|
44
47
|
@import '@primer/primitives/dist/css/functional/themes/light.css';
|
|
45
48
|
@import '@primer/primitives/dist/css/functional/themes/light-tritanopia.css';
|
|
@@ -53,6 +56,8 @@ All available imports:
|
|
|
53
56
|
```
|
|
54
57
|
|
|
55
58
|
> **Note:** Motion CSS imports are required for components with animations, such as `Spinner` from `@primer/react`. If you're experiencing issues with animated components appearing static, ensure you've imported the motion CSS files.
|
|
59
|
+
>
|
|
60
|
+
> **Note:** Spacing tokens provide a unified semantic scale for `gap`, `padding`, and `margin`. Import `functional/spacing/space.css` to use `--space-*` tokens in your components.
|
|
56
61
|
|
|
57
62
|
## Design token data
|
|
58
63
|
|
|
@@ -4,5 +4,7 @@
|
|
|
4
4
|
* @returns boolean
|
|
5
5
|
*/
|
|
6
6
|
export const isDeprecated = (token) => {
|
|
7
|
-
|
|
7
|
+
var _a;
|
|
8
|
+
const deprecated = (_a = token.original.$deprecated) !== null && _a !== void 0 ? _a : token.$deprecated;
|
|
9
|
+
return deprecated === true || typeof deprecated === 'string';
|
|
8
10
|
};
|
|
@@ -10,5 +10,9 @@ export const jsonDeprecated = {
|
|
|
10
10
|
type: 'value',
|
|
11
11
|
transitive: true,
|
|
12
12
|
filter: isDeprecated,
|
|
13
|
-
transform: (token) =>
|
|
13
|
+
transform: (token) => {
|
|
14
|
+
var _a;
|
|
15
|
+
const deprecated = (_a = token.original.$deprecated) !== null && _a !== void 0 ? _a : token.$deprecated;
|
|
16
|
+
return typeof deprecated === 'string' ? deprecated.replace(/[{}]/g, '') : null;
|
|
17
|
+
},
|
|
14
18
|
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
:root {
|
|
2
|
-
--borderWidth-thick: 0.125rem; /**
|
|
3
|
-
--borderWidth-thicker: 0.25rem; /**
|
|
4
|
-
--borderWidth-thin: 0.0625rem; /**
|
|
2
|
+
--borderWidth-thick: 0.125rem; /** Scale token: 2px border width for emphasis or focus states. */
|
|
3
|
+
--borderWidth-thicker: 0.25rem; /** Scale token: 4px border width for strong emphasis. */
|
|
4
|
+
--borderWidth-thin: 0.0625rem; /** Scale token: 1px border width. Use when selecting an explicit size from the border-width scale. */
|
|
5
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
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
|
-
--borderWidth-default: var(--borderWidth-thin); /**
|
|
7
|
+
--borderWidth-default: var(--borderWidth-thin); /** Semantic token: preferred default border width for standard component borders. Use this in normal component code unless a specific scale value is required. */
|
|
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 */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
:root {
|
|
2
|
-
--borderRadius-full: 624.9375rem; /**
|
|
3
|
-
--borderRadius-large: 0.75rem; /**
|
|
4
|
-
--borderRadius-medium: 0.375rem; /**
|
|
5
|
-
--borderRadius-small: 0.1875rem; /**
|
|
6
|
-
--borderRadius-default: var(--borderRadius-medium); /**
|
|
2
|
+
--borderRadius-full: 624.9375rem; /** Shape token for fully rounded or pill-shaped elements. */
|
|
3
|
+
--borderRadius-large: 0.75rem; /** Scale token: 12px radius for larger surfaces or softer container treatments. */
|
|
4
|
+
--borderRadius-medium: 0.375rem; /** Scale token: 6px radius in the border-radius scale. Use when selecting a specific radius intentionally. */
|
|
5
|
+
--borderRadius-small: 0.1875rem; /** Scale token: 3px radius for compact UI elements or small component variants. */
|
|
6
|
+
--borderRadius-default: var(--borderRadius-medium); /** Semantic token: preferred default border radius for standard UI components. Use this in normal component code unless a specific radius is intentionally required. */
|
|
7
7
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--space-lg: 1rem; /** Spacious spacing for major layout divisions and visual separation between content blocks. */
|
|
3
|
+
--space-md: 0.75rem; /** Relaxed spacing for breathing room and comfortable internal container space. */
|
|
4
|
+
--space-sm: 0.5rem; /** Default spacing for most UI elements. Comfortable visual density for standard component layouts. */
|
|
5
|
+
--space-xl: 1.5rem; /** Expansive spacing for large sections and top-level structure separation. */
|
|
6
|
+
--space-xs: 0.25rem; /** Compact spacing for small badges, tight internal spacing, and minimal breathing room. */
|
|
7
|
+
--space-xxs: 0.125rem; /** Ultra-compact spacing for form field separators and tight visual divisions. */
|
|
8
|
+
}
|
package/dist/css/primitives.css
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"isSource": true,
|
|
12
12
|
"original": {
|
|
13
13
|
"$value": "{borderWidth.thin}",
|
|
14
|
-
"$description": "
|
|
14
|
+
"$description": "Semantic token: preferred default border width for standard component borders. Use this in normal component code unless a specific scale value is required.",
|
|
15
15
|
"$type": "dimension",
|
|
16
16
|
"$extensions": {
|
|
17
17
|
"org.primer.figma": {
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"path": ["borderWidth", "default"],
|
|
27
27
|
"value": "0.0625rem",
|
|
28
28
|
"type": "dimension",
|
|
29
|
-
"description": "
|
|
29
|
+
"description": "Semantic token: preferred default border width for standard component borders. Use this in normal component code unless a specific scale value is required."
|
|
30
30
|
},
|
|
31
31
|
"borderWidth-thick": {
|
|
32
32
|
"key": "{borderWidth.thick}",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"value": 2,
|
|
48
48
|
"unit": "px"
|
|
49
49
|
},
|
|
50
|
-
"$description": "
|
|
50
|
+
"$description": "Scale token: 2px border width for emphasis or focus states.",
|
|
51
51
|
"$type": "dimension",
|
|
52
52
|
"$extensions": {
|
|
53
53
|
"org.primer.figma": {
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"path": ["borderWidth", "thick"],
|
|
67
67
|
"value": "0.125rem",
|
|
68
68
|
"type": "dimension",
|
|
69
|
-
"description": "
|
|
69
|
+
"description": "Scale token: 2px border width for emphasis or focus states."
|
|
70
70
|
},
|
|
71
71
|
"borderWidth-thicker": {
|
|
72
72
|
"key": "{borderWidth.thicker}",
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"value": 4,
|
|
84
84
|
"unit": "px"
|
|
85
85
|
},
|
|
86
|
-
"$description": "
|
|
86
|
+
"$description": "Scale token: 4px border width for strong emphasis.",
|
|
87
87
|
"$type": "dimension",
|
|
88
88
|
"$extensions": {
|
|
89
89
|
"org.primer.figma": {
|
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
"path": ["borderWidth", "thicker"],
|
|
99
99
|
"value": "0.25rem",
|
|
100
100
|
"type": "dimension",
|
|
101
|
-
"description": "
|
|
101
|
+
"description": "Scale token: 4px border width for strong emphasis."
|
|
102
102
|
},
|
|
103
103
|
"borderWidth-thin": {
|
|
104
104
|
"key": "{borderWidth.thin}",
|
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
"value": 1,
|
|
116
116
|
"unit": "px"
|
|
117
117
|
},
|
|
118
|
-
"$description": "
|
|
118
|
+
"$description": "Scale token: 1px border width. Use when selecting an explicit size from the border-width scale.",
|
|
119
119
|
"$type": "dimension",
|
|
120
120
|
"$extensions": {
|
|
121
121
|
"org.primer.figma": {
|
|
@@ -130,7 +130,7 @@
|
|
|
130
130
|
"path": ["borderWidth", "thin"],
|
|
131
131
|
"value": "0.0625rem",
|
|
132
132
|
"type": "dimension",
|
|
133
|
-
"description": "
|
|
133
|
+
"description": "Scale token: 1px border width. Use when selecting an explicit size from the border-width scale."
|
|
134
134
|
},
|
|
135
135
|
"boxShadow-thick": {
|
|
136
136
|
"key": "{boxShadow.thick}",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"isSource": true,
|
|
15
15
|
"original": {
|
|
16
16
|
"$value": "{borderRadius.medium}",
|
|
17
|
-
"$description": "
|
|
17
|
+
"$description": "Semantic token: preferred default border radius for standard UI components. Use this in normal component code unless a specific radius is intentionally required.",
|
|
18
18
|
"$type": "dimension",
|
|
19
19
|
"$extensions": {
|
|
20
20
|
"org.primer.figma": {
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"path": ["borderRadius", "default"],
|
|
33
33
|
"value": "0.375rem",
|
|
34
34
|
"type": "dimension",
|
|
35
|
-
"description": "
|
|
35
|
+
"description": "Semantic token: preferred default border radius for standard UI components. Use this in normal component code unless a specific radius is intentionally required."
|
|
36
36
|
},
|
|
37
37
|
"borderRadius-full": {
|
|
38
38
|
"key": "{borderRadius.full}",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"unit": "px"
|
|
58
58
|
},
|
|
59
59
|
"$type": "dimension",
|
|
60
|
-
"$description": "
|
|
60
|
+
"$description": "Shape token for fully rounded or pill-shaped elements.",
|
|
61
61
|
"$extensions": {
|
|
62
62
|
"org.primer.figma": {
|
|
63
63
|
"collection": "functional/size",
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"path": ["borderRadius", "full"],
|
|
79
79
|
"value": "624.9375rem",
|
|
80
80
|
"type": "dimension",
|
|
81
|
-
"description": "
|
|
81
|
+
"description": "Shape token for fully rounded or pill-shaped elements."
|
|
82
82
|
},
|
|
83
83
|
"borderRadius-large": {
|
|
84
84
|
"key": "{borderRadius.large}",
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
"value": 12,
|
|
103
103
|
"unit": "px"
|
|
104
104
|
},
|
|
105
|
-
"$description": "
|
|
105
|
+
"$description": "Scale token: 12px radius for larger surfaces or softer container treatments.",
|
|
106
106
|
"$type": "dimension",
|
|
107
107
|
"$extensions": {
|
|
108
108
|
"org.primer.figma": {
|
|
@@ -124,7 +124,7 @@
|
|
|
124
124
|
"path": ["borderRadius", "large"],
|
|
125
125
|
"value": "0.75rem",
|
|
126
126
|
"type": "dimension",
|
|
127
|
-
"description": "
|
|
127
|
+
"description": "Scale token: 12px radius for larger surfaces or softer container treatments."
|
|
128
128
|
},
|
|
129
129
|
"borderRadius-medium": {
|
|
130
130
|
"key": "{borderRadius.medium}",
|
|
@@ -148,7 +148,7 @@
|
|
|
148
148
|
"value": 6,
|
|
149
149
|
"unit": "px"
|
|
150
150
|
},
|
|
151
|
-
"$description": "
|
|
151
|
+
"$description": "Scale token: 6px radius in the border-radius scale. Use when selecting a specific radius intentionally.",
|
|
152
152
|
"$type": "dimension",
|
|
153
153
|
"$extensions": {
|
|
154
154
|
"org.primer.figma": {
|
|
@@ -170,7 +170,7 @@
|
|
|
170
170
|
"path": ["borderRadius", "medium"],
|
|
171
171
|
"value": "0.375rem",
|
|
172
172
|
"type": "dimension",
|
|
173
|
-
"description": "
|
|
173
|
+
"description": "Scale token: 6px radius in the border-radius scale. Use when selecting a specific radius intentionally."
|
|
174
174
|
},
|
|
175
175
|
"borderRadius-small": {
|
|
176
176
|
"key": "{borderRadius.small}",
|
|
@@ -194,7 +194,7 @@
|
|
|
194
194
|
"value": 3,
|
|
195
195
|
"unit": "px"
|
|
196
196
|
},
|
|
197
|
-
"$description": "
|
|
197
|
+
"$description": "Scale token: 3px radius for compact UI elements or small component variants.",
|
|
198
198
|
"$type": "dimension",
|
|
199
199
|
"$extensions": {
|
|
200
200
|
"org.primer.figma": {
|
|
@@ -216,6 +216,6 @@
|
|
|
216
216
|
"path": ["borderRadius", "small"],
|
|
217
217
|
"value": "0.1875rem",
|
|
218
218
|
"type": "dimension",
|
|
219
|
-
"description": "
|
|
219
|
+
"description": "Scale token: 3px radius for compact UI elements or small component variants."
|
|
220
220
|
}
|
|
221
221
|
}
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
{
|
|
2
|
+
"space-lg": {
|
|
3
|
+
"key": "{space.lg}",
|
|
4
|
+
"$extensions": {
|
|
5
|
+
"org.primer.llm": {
|
|
6
|
+
"usage": ["gap", "padding", "margin", "section-gap", "container-margin"],
|
|
7
|
+
"rules": "Spacious (16px). Use for major layout divisions, visual separation between content blocks, and primary container margins."
|
|
8
|
+
},
|
|
9
|
+
"org.primer.figma": {
|
|
10
|
+
"collection": "functional/size",
|
|
11
|
+
"scopes": ["gap"]
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"filePath": "src/tokens/functional/spacing/space.json5",
|
|
15
|
+
"isSource": true,
|
|
16
|
+
"original": {
|
|
17
|
+
"$value": "{base.size.16}",
|
|
18
|
+
"$type": "dimension",
|
|
19
|
+
"$description": "Spacious spacing for major layout divisions and visual separation between content blocks.",
|
|
20
|
+
"$extensions": {
|
|
21
|
+
"org.primer.llm": {
|
|
22
|
+
"usage": ["gap", "padding", "margin", "section-gap", "container-margin"],
|
|
23
|
+
"rules": "Spacious (16px). Use for major layout divisions, visual separation between content blocks, and primary container margins."
|
|
24
|
+
},
|
|
25
|
+
"org.primer.figma": {
|
|
26
|
+
"collection": "functional/size",
|
|
27
|
+
"scopes": ["gap"]
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"key": "{space.lg}"
|
|
31
|
+
},
|
|
32
|
+
"name": "space-lg",
|
|
33
|
+
"attributes": {},
|
|
34
|
+
"path": ["space", "lg"],
|
|
35
|
+
"value": "1rem",
|
|
36
|
+
"type": "dimension",
|
|
37
|
+
"description": "Spacious spacing for major layout divisions and visual separation between content blocks."
|
|
38
|
+
},
|
|
39
|
+
"space-md": {
|
|
40
|
+
"key": "{space.md}",
|
|
41
|
+
"$extensions": {
|
|
42
|
+
"org.primer.llm": {
|
|
43
|
+
"usage": ["gap", "padding", "margin", "panel-padding", "section-separation"],
|
|
44
|
+
"rules": "Relaxed (12px). Use for comfortable container padding, relaxed layouts, section separators, and breathing room in dense layouts."
|
|
45
|
+
},
|
|
46
|
+
"org.primer.figma": {
|
|
47
|
+
"collection": "functional/size",
|
|
48
|
+
"scopes": ["gap"]
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"filePath": "src/tokens/functional/spacing/space.json5",
|
|
52
|
+
"isSource": true,
|
|
53
|
+
"original": {
|
|
54
|
+
"$value": "{base.size.12}",
|
|
55
|
+
"$type": "dimension",
|
|
56
|
+
"$description": "Relaxed spacing for breathing room and comfortable internal container space.",
|
|
57
|
+
"$extensions": {
|
|
58
|
+
"org.primer.llm": {
|
|
59
|
+
"usage": ["gap", "padding", "margin", "panel-padding", "section-separation"],
|
|
60
|
+
"rules": "Relaxed (12px). Use for comfortable container padding, relaxed layouts, section separators, and breathing room in dense layouts."
|
|
61
|
+
},
|
|
62
|
+
"org.primer.figma": {
|
|
63
|
+
"collection": "functional/size",
|
|
64
|
+
"scopes": ["gap"]
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"key": "{space.md}"
|
|
68
|
+
},
|
|
69
|
+
"name": "space-md",
|
|
70
|
+
"attributes": {},
|
|
71
|
+
"path": ["space", "md"],
|
|
72
|
+
"value": "0.75rem",
|
|
73
|
+
"type": "dimension",
|
|
74
|
+
"description": "Relaxed spacing for breathing room and comfortable internal container space."
|
|
75
|
+
},
|
|
76
|
+
"space-sm": {
|
|
77
|
+
"key": "{space.sm}",
|
|
78
|
+
"$extensions": {
|
|
79
|
+
"org.primer.llm": {
|
|
80
|
+
"usage": ["gap", "padding", "margin", "flex-gap", "grid-gap", "card-padding"],
|
|
81
|
+
"rules": "Default (8px). Use for standard component spacing, flex/grid item separation, container padding, and most element margins."
|
|
82
|
+
},
|
|
83
|
+
"org.primer.figma": {
|
|
84
|
+
"collection": "functional/size",
|
|
85
|
+
"scopes": ["gap"]
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"filePath": "src/tokens/functional/spacing/space.json5",
|
|
89
|
+
"isSource": true,
|
|
90
|
+
"original": {
|
|
91
|
+
"$value": "{base.size.8}",
|
|
92
|
+
"$type": "dimension",
|
|
93
|
+
"$description": "Default spacing for most UI elements. Comfortable visual density for standard component layouts.",
|
|
94
|
+
"$extensions": {
|
|
95
|
+
"org.primer.llm": {
|
|
96
|
+
"usage": ["gap", "padding", "margin", "flex-gap", "grid-gap", "card-padding"],
|
|
97
|
+
"rules": "Default (8px). Use for standard component spacing, flex/grid item separation, container padding, and most element margins."
|
|
98
|
+
},
|
|
99
|
+
"org.primer.figma": {
|
|
100
|
+
"collection": "functional/size",
|
|
101
|
+
"scopes": ["gap"]
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
"key": "{space.sm}"
|
|
105
|
+
},
|
|
106
|
+
"name": "space-sm",
|
|
107
|
+
"attributes": {},
|
|
108
|
+
"path": ["space", "sm"],
|
|
109
|
+
"value": "0.5rem",
|
|
110
|
+
"type": "dimension",
|
|
111
|
+
"description": "Default spacing for most UI elements. Comfortable visual density for standard component layouts."
|
|
112
|
+
},
|
|
113
|
+
"space-xl": {
|
|
114
|
+
"key": "{space.xl}",
|
|
115
|
+
"$extensions": {
|
|
116
|
+
"org.primer.llm": {
|
|
117
|
+
"usage": ["gap", "padding", "margin", "page-sections", "major-divisions"],
|
|
118
|
+
"rules": "Expansive (24px). Use for large section separation, top-level layout structure, major page divisions, and expansive breathing room."
|
|
119
|
+
},
|
|
120
|
+
"org.primer.figma": {
|
|
121
|
+
"collection": "functional/size",
|
|
122
|
+
"scopes": ["gap"]
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
"filePath": "src/tokens/functional/spacing/space.json5",
|
|
126
|
+
"isSource": true,
|
|
127
|
+
"original": {
|
|
128
|
+
"$value": "{base.size.24}",
|
|
129
|
+
"$type": "dimension",
|
|
130
|
+
"$description": "Expansive spacing for large sections and top-level structure separation.",
|
|
131
|
+
"$extensions": {
|
|
132
|
+
"org.primer.llm": {
|
|
133
|
+
"usage": ["gap", "padding", "margin", "page-sections", "major-divisions"],
|
|
134
|
+
"rules": "Expansive (24px). Use for large section separation, top-level layout structure, major page divisions, and expansive breathing room."
|
|
135
|
+
},
|
|
136
|
+
"org.primer.figma": {
|
|
137
|
+
"collection": "functional/size",
|
|
138
|
+
"scopes": ["gap"]
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
"key": "{space.xl}"
|
|
142
|
+
},
|
|
143
|
+
"name": "space-xl",
|
|
144
|
+
"attributes": {},
|
|
145
|
+
"path": ["space", "xl"],
|
|
146
|
+
"value": "1.5rem",
|
|
147
|
+
"type": "dimension",
|
|
148
|
+
"description": "Expansive spacing for large sections and top-level structure separation."
|
|
149
|
+
},
|
|
150
|
+
"space-xs": {
|
|
151
|
+
"key": "{space.xs}",
|
|
152
|
+
"$extensions": {
|
|
153
|
+
"org.primer.llm": {
|
|
154
|
+
"usage": ["gap", "padding", "margin", "badge-spacing", "list-items"],
|
|
155
|
+
"rules": "Compact (4px). Use for small component spacing, tight list separations, badge padding, and minimal internal margins."
|
|
156
|
+
},
|
|
157
|
+
"org.primer.figma": {
|
|
158
|
+
"collection": "functional/size",
|
|
159
|
+
"scopes": ["gap"]
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
"filePath": "src/tokens/functional/spacing/space.json5",
|
|
163
|
+
"isSource": true,
|
|
164
|
+
"original": {
|
|
165
|
+
"$value": "{base.size.4}",
|
|
166
|
+
"$type": "dimension",
|
|
167
|
+
"$description": "Compact spacing for small badges, tight internal spacing, and minimal breathing room.",
|
|
168
|
+
"$extensions": {
|
|
169
|
+
"org.primer.llm": {
|
|
170
|
+
"usage": ["gap", "padding", "margin", "badge-spacing", "list-items"],
|
|
171
|
+
"rules": "Compact (4px). Use for small component spacing, tight list separations, badge padding, and minimal internal margins."
|
|
172
|
+
},
|
|
173
|
+
"org.primer.figma": {
|
|
174
|
+
"collection": "functional/size",
|
|
175
|
+
"scopes": ["gap"]
|
|
176
|
+
}
|
|
177
|
+
},
|
|
178
|
+
"key": "{space.xs}"
|
|
179
|
+
},
|
|
180
|
+
"name": "space-xs",
|
|
181
|
+
"attributes": {},
|
|
182
|
+
"path": ["space", "xs"],
|
|
183
|
+
"value": "0.25rem",
|
|
184
|
+
"type": "dimension",
|
|
185
|
+
"description": "Compact spacing for small badges, tight internal spacing, and minimal breathing room."
|
|
186
|
+
},
|
|
187
|
+
"space-xxs": {
|
|
188
|
+
"key": "{space.xxs}",
|
|
189
|
+
"$extensions": {
|
|
190
|
+
"org.primer.llm": {
|
|
191
|
+
"usage": ["gap", "padding", "margin", "form-separators"],
|
|
192
|
+
"rules": "Ultra-compact (2px). Use for form field separators, tight dividers, and minimal breathing room between small elements."
|
|
193
|
+
},
|
|
194
|
+
"org.primer.figma": {
|
|
195
|
+
"collection": "functional/size",
|
|
196
|
+
"scopes": ["gap"]
|
|
197
|
+
}
|
|
198
|
+
},
|
|
199
|
+
"filePath": "src/tokens/functional/spacing/space.json5",
|
|
200
|
+
"isSource": true,
|
|
201
|
+
"original": {
|
|
202
|
+
"$value": "{base.size.2}",
|
|
203
|
+
"$type": "dimension",
|
|
204
|
+
"$description": "Ultra-compact spacing for form field separators and tight visual divisions.",
|
|
205
|
+
"$extensions": {
|
|
206
|
+
"org.primer.llm": {
|
|
207
|
+
"usage": ["gap", "padding", "margin", "form-separators"],
|
|
208
|
+
"rules": "Ultra-compact (2px). Use for form field separators, tight dividers, and minimal breathing room between small elements."
|
|
209
|
+
},
|
|
210
|
+
"org.primer.figma": {
|
|
211
|
+
"collection": "functional/size",
|
|
212
|
+
"scopes": ["gap"]
|
|
213
|
+
}
|
|
214
|
+
},
|
|
215
|
+
"key": "{space.xxs}"
|
|
216
|
+
},
|
|
217
|
+
"name": "space-xxs",
|
|
218
|
+
"attributes": {},
|
|
219
|
+
"path": ["space", "xxs"],
|
|
220
|
+
"value": "0.125rem",
|
|
221
|
+
"type": "dimension",
|
|
222
|
+
"description": "Ultra-compact spacing for form field separators and tight visual divisions."
|
|
223
|
+
}
|
|
224
|
+
}
|