@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.
@@ -160,22 +160,22 @@ Fully transparent border
160
160
  Corner radius tokens for rounded elements.
161
161
 
162
162
  ### borderRadius-full
163
- Use this border radius for pill shaped elements
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
- Large border radius (12px). Use for larger containers, dialogs, or when more visual softness is desired.
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
- Medium border radius (6px). The default choice for most buttons, cards, and containers
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
- Small border radius (3px). Use for small variants of components or small UI elements like badges, tags, or anything below 16px in height
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
- Thick 2px border for emphasis. Use for focus indicators, selected states, or to emphasize important boundaries
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
- return token.$deprecated === true || typeof token.$deprecated === 'string';
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) => typeof token.$deprecated === 'string' ? token.$deprecated.replace(/[{}]/g, '') : null,
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; /** Thick 2px border for emphasis. Use for focus indicators, selected states, or to emphasize important boundaries */
3
- --borderWidth-thicker: 0.25rem; /** Extra thick 4px border for maximum emphasis. Use sparingly for high-contrast focus indicators or critical visual separators */
4
- --borderWidth-thin: 0.0625rem; /** Standard 1px border width. Use for most borders, dividers, and outlines throughout the interface */
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); /** Default border width for most UI elements. Alias of borderWidth.thin (1px) */
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; /** Use this border radius for pill shaped elements */
3
- --borderRadius-large: 0.75rem; /** Large border radius (12px). Use for larger containers, dialogs, or when more visual softness is desired. */
4
- --borderRadius-medium: 0.375rem; /** Medium border radius (6px). The default choice for most buttons, cards, and containers */
5
- --borderRadius-small: 0.1875rem; /** Small border radius (3px). Use for small variants of components or small UI elements like badges, tags, or anything below 16px in height */
6
- --borderRadius-default: var(--borderRadius-medium); /** Default border radius for most UI elements. Alias of borderRadius.medium (6px). Use when in doubt */
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
+ }
@@ -14,4 +14,5 @@
14
14
  @import './functional/size/size-fine.css';
15
15
  @import './functional/size/size.css';
16
16
  @import './functional/size/z-index.css';
17
+ @import './functional/spacing/space.css';
17
18
  @import './functional/typography/typography.css';
@@ -0,0 +1,5 @@
1
+ {
2
+ "focus.outlineColor": "focus.outline-color",
3
+ "outline.focus.offset": "focus.outline-offset",
4
+ "outline.focus.width": "focus.outline-width"
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "focus.outlineColor": "focus.outline-color",
3
+ "outline.focus.offset": "focus.outline-offset",
4
+ "outline.focus.width": "focus.outline-width"
5
+ }
@@ -11,7 +11,7 @@
11
11
  "isSource": true,
12
12
  "original": {
13
13
  "$value": "{borderWidth.thin}",
14
- "$description": "Default border width for most UI elements. Alias of borderWidth.thin (1px)",
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": "Default border width for most UI elements. Alias of borderWidth.thin (1px)"
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": "Thick 2px border for emphasis. Use for focus indicators, selected states, or to emphasize important boundaries",
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": "Thick 2px border for emphasis. Use for focus indicators, selected states, or to emphasize important boundaries"
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": "Extra thick 4px border for maximum emphasis. Use sparingly for high-contrast focus indicators or critical visual separators",
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": "Extra thick 4px border for maximum emphasis. Use sparingly for high-contrast focus indicators or critical visual separators"
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": "Standard 1px border width. Use for most borders, dividers, and outlines throughout the interface",
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": "Standard 1px border width. Use for most borders, dividers, and outlines throughout the interface"
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": "Default border radius for most UI elements. Alias of borderRadius.medium (6px). Use when in doubt",
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": "Default border radius for most UI elements. Alias of borderRadius.medium (6px). Use when in doubt"
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": "Use this border radius for pill shaped elements",
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": "Use this border radius for pill shaped elements"
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": "Large border radius (12px). Use for larger containers, dialogs, or when more visual softness is desired.",
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": "Large border radius (12px). Use for larger containers, dialogs, or when more visual softness is desired."
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": "Medium border radius (6px). The default choice for most buttons, cards, and containers",
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": "Medium border radius (6px). The default choice for most buttons, cards, and containers"
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": "Small border radius (3px). Use for small variants of components or small UI elements like badges, tags, or anything below 16px in height",
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": "Small border radius (3px). Use for small variants of components or small UI elements like badges, tags, or anything below 16px in height"
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
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "--space-xxs": "0.125rem",
3
+ "--space-xs": "0.25rem",
4
+ "--space-sm": "0.5rem",
5
+ "--space-md": "0.75rem",
6
+ "--space-lg": "1rem",
7
+ "--space-xl": "1.5rem"
8
+ }