@primer/primitives 11.4.0 → 11.4.1-rc.eb8ee149

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.
@@ -1,695 +0,0 @@
1
- # Token Guidelines
2
-
3
- ## background color
4
-
5
- ### bgColor-accent-emphasis
6
- Strong accent background for active states and focused states
7
- **Usage:** active-states, active-toggle, current, selected
8
- **Rules:** MUST use for selected or active states. Pair with fgColor.onEmphasis for text.
9
-
10
- ### bgColor-accent-muted
11
- Subtle accent background for informational or selected elements
12
- **Usage:** active-nav-item, highlight, info-banner, selected-row
13
- **Rules:** Use for selected states or informational highlights. Pair with fgColor.accent for text.
14
-
15
- ### bgColor-attention-emphasis
16
- Strong attention background for prominent warnings
17
- **Usage:** attention-indicator, caution-label, warning-badge
18
- **Rules:** Use for prominent warnings. Consider fgColor.default for text due to yellow contrast.
19
-
20
- ### bgColor-attention-muted
21
- Subtle attention background for warnings and caution states
22
- **Usage:** caution-message, pending-state, warning-banner
23
- **Rules:** Use for warnings that need user attention. Pair with fgColor.attention for text.
24
-
25
- ### bgColor-closed-emphasis
26
- Strong background for closed state badges and labels
27
- **Usage:** closed-badge, closed-label, declined-status-badge
28
- **Rules:** Use for prominent closed/declined state indicators. Pair with fgColor.onEmphasis for text.
29
-
30
- ### bgColor-closed-muted
31
- Subtle background for closed state indicators (issues, PRs)
32
- **Usage:** closed-issue, closed-pr, declined-state
33
- **Rules:** Use for closed/declined status indicators. Specifically for GitHub issues and PRs.
34
-
35
- ### bgColor-danger-emphasis
36
- Emphasized danger background for critical errors and delete confirmations
37
- **Usage:** critical-alert, delete-button, destructive-confirmation
38
- **Rules:** MUST use for destructive action buttons like delete. Use fgColor.onEmphasis for text on this background.
39
-
40
- ### bgColor-danger-muted
41
- Muted danger background for error states and destructive action contexts
42
- **Usage:** destructive-action, error-message, validation-error
43
- **Rules:** Use for error states and destructive action backgrounds. Pair with fgColor.danger for text.
44
-
45
- ### bgColor-default
46
- Default background color for pages and main content areas
47
- **Usage:** card-background, main-content, page-background
48
- **Rules:** Use as the primary background for pages and content areas. Do NOT use for emphasis or highlighting.
49
-
50
- ### bgColor-disabled
51
- Background for disabled interactive elements
52
- **Usage:** disabled-button, disabled-input, inactive-element
53
- **Rules:** MUST use for disabled state backgrounds. Pair with fgColor.disabled for text. Do NOT use for active elements.
54
-
55
- ### bgColor-done-emphasis
56
- Strong background for completed/done state badges and labels
57
- **Usage:** completed-indicator, done-badge, merged-label
58
- **Rules:** Use for prominent done/completed state indicators. Pair with fgColor.onEmphasis for text.
59
-
60
- ### bgColor-done-muted
61
- Subtle background for completed/done state indicators
62
- **Usage:** completed-task, done-state, merged-pr
63
- **Rules:** Use for completed/done status indicators. Conveys finished or merged state.
64
-
65
- ### bgColor-draft-emphasis
66
- Strong background for draft state badges and labels
67
- **Usage:** draft-badge, draft-label, wip-indicator
68
- **Rules:** Use for prominent draft state indicators. Pair with fgColor.onEmphasis for text.
69
-
70
- ### bgColor-draft-muted
71
- Subtle background for draft state indicators
72
- **Usage:** draft-issue, draft-pr, work-in-progress
73
- **Rules:** Use for draft/WIP status indicators. Conveys incomplete or pending state.
74
-
75
- ### bgColor-emphasis
76
- High-emphasis dark background for strong visual contrast
77
- **Usage:** badge-background, high-contrast-element, tooltip
78
- **Rules:** Use for elements needing strong visual emphasis. Pair with fgColor.onEmphasis for text. Do NOT use for large areas.
79
-
80
- ### bgColor-inset
81
- Inset background for recessed content areas like wells or sunken panels
82
- **Usage:** input-background, recessed-area, sunken-panel, well
83
- **Rules:** Use for visually recessed areas. Creates depth hierarchy. Suitable for input fields and wells.
84
-
85
- ### bgColor-inverse
86
- Inverse background that flips between light and dark modes
87
- **Usage:** inverse-theme-element, overlay-content
88
- **Rules:** Use when you need opposite theme background. Pair with fgColor.onInverse for text.
89
-
90
- ### bgColor-muted
91
- Muted background for secondary content areas and subtle grouping
92
- **Usage:** code-block-background, secondary-content, sidebar, table-header
93
- **Rules:** Use for secondary content areas or to create visual grouping. Do NOT use for primary page backgrounds.
94
-
95
- ### bgColor-neutral-emphasis
96
- Strong neutral background for prominent neutral elements
97
- **Usage:** neutral-button, neutral-indicator, secondary-action
98
- **Rules:** Use for emphasized neutral elements. Pair with fgColor.onEmphasis for text.
99
-
100
- ### bgColor-neutral-muted
101
- Subtle neutral background for tags, labels, and secondary UI elements
102
- **Usage:** counter, neutral-badge, neutral-label, secondary-tag
103
- **Rules:** Use for neutral semantic meaning. Pair with fgColor.default for text. Do NOT use for status indicators.
104
-
105
- ### bgColor-open-emphasis
106
- Strong background for open state badges and labels
107
- **Usage:** active-status-badge, open-badge, open-label
108
- **Rules:** Use for prominent open/active state indicators. Pair with fgColor.onEmphasis for text.
109
-
110
- ### bgColor-open-muted
111
- Subtle background for open state indicators (issues, PRs)
112
- **Usage:** active-status, open-issue, open-pr
113
- **Rules:** Use for open/active status indicators. Specifically for GitHub issues and PRs.
114
-
115
- ### bgColor-severe-emphasis
116
- Strong severe background for prominent high-priority warnings
117
- **Usage:** high-priority-indicator, severe-badge, urgent-label
118
- **Rules:** Use for prominent severe warnings. Pair with fgColor.onEmphasis for text.
119
-
120
- ### bgColor-severe-muted
121
- Subtle severe background for high-priority warnings
122
- **Usage:** escalation, high-priority-warning, urgent-message
123
- **Rules:** Use for severe warnings, less critical than danger. Pair with fgColor.severe for text.
124
-
125
- ### bgColor-sponsors-emphasis
126
- Strong background for prominent GitHub Sponsors elements
127
- **Usage:** funding-cta, sponsor-badge, sponsor-button
128
- **Rules:** Use for prominent Sponsors CTAs. Pair with fgColor.onEmphasis for text.
129
-
130
- ### bgColor-sponsors-muted
131
- Subtle background for GitHub Sponsors content
132
- **Usage:** funding-prompt, sponsor-card, sponsor-highlight
133
- **Rules:** Use for GitHub Sponsors related content. Do NOT use for general pink-colored elements.
134
-
135
- ### bgColor-success-emphasis
136
- Strong success background for prominent positive actions
137
- **Usage:** confirm-action, merge-button, success-badge
138
- **Rules:** Use for positive action buttons like merge or confirm. Pair with fgColor.onEmphasis for text.
139
-
140
- ### bgColor-success-muted
141
- Subtle success background for positive feedback and completed states
142
- **Usage:** completed-state, positive-feedback, success-message
143
- **Rules:** Use for success states and positive feedback. Pair with fgColor.success for text.
144
-
145
- ### bgColor-transparent
146
- Fully transparent background
147
- **Usage:** ghost-button, icon-button, overlay-trigger
148
- **Rules:** Use for ghost/icon buttons or when element should blend with parent. Ensure sufficient contrast for interactive states.
149
-
150
- ### bgColor-upsell-emphasis
151
- Strong background for prominent upsell elements
152
- **Usage:** premium-badge, upgrade-button, upsell-cta
153
- **Rules:** Use for prominent upgrade/upsell CTAs. Pair with fgColor.onEmphasis for text.
154
-
155
- ### bgColor-upsell-muted
156
- Subtle background for upsell and promotional content
157
- **Usage:** premium-feature, promotional-banner, upgrade-prompt
158
- **Rules:** Use for upgrade prompts and premium feature highlights. Do NOT use for regular content.
159
-
160
- ## Border
161
-
162
- **Usage:** card-border, container-border, divider, input-border, panel-border
163
- **Rules:** Use default for standard container borders. Use muted for subtle dividers and low-emphasis boundaries. Use emphasis when borders need to stand out. Match status border colors to their semantic meaning (danger for errors, success for positive states). Use disabled only for non-interactive or disabled elements. Prefer semantic variants (open/closed, done) over raw color variants when the context matches.
164
-
165
- ### accent
166
- Accent-colored borders for selected, focused, or highlighted elements.
167
- **Tokens:** border-accent-emphasis, border-accent-muted
168
-
169
- ### attention
170
- Yellow borders for warnings, caution states, and items requiring user attention.
171
- **Tokens:** border-attention-emphasis, border-attention-muted
172
-
173
- ### closed
174
- Borders for closed state indicators. Use for closed pull requests, issues, and discussions. Aliases border.danger.
175
- **Tokens:** border-closed-emphasis, border-closed-muted
176
-
177
- ### danger
178
- Red borders for errors, destructive actions, and critical warnings.
179
- **Tokens:** border-danger-emphasis, border-danger-muted
180
-
181
- ### general
182
- Semantic border tokens combining color, style, and width for consistent UI boundaries.
183
- **Tokens:** border-default, border-disabled, border-emphasis, border-muted, border-transparent
184
-
185
- ### done
186
- Purple borders for completed or merged states. Use for merged pull requests and completed items.
187
- **Tokens:** border-done-emphasis, border-done-muted
188
-
189
- ### neutral
190
- Neutral gray borders for non-semantic boundaries and subtle UI separation.
191
- **Tokens:** border-neutral-emphasis, border-neutral-muted
192
-
193
- ### open
194
- Borders for open state indicators. Use for open pull requests, issues, and discussions. Aliases border.success.
195
- **Tokens:** border-open-emphasis, border-open-muted
196
-
197
- ### severe
198
- Orange borders for severe warnings, more urgent than attention but less critical than danger.
199
- **Tokens:** border-severe-emphasis, border-severe-muted
200
-
201
- ### sponsors
202
- Borders for GitHub Sponsors content and sponsor-related UI elements.
203
- **Tokens:** border-sponsors-emphasis, border-sponsors-muted
204
-
205
- ### success
206
- Green borders for positive states, confirmations, and successful operations.
207
- **Tokens:** border-success-emphasis, border-success-muted
208
-
209
- ### upsell
210
- Borders for promotional content and feature upsells. Use for upgrade prompts and premium feature highlights.
211
- **Tokens:** border-upsell-emphasis, border-upsell-muted
212
-
213
- ## BorderColor
214
-
215
- ### borderColor-accent-emphasis
216
- Strong accent border for selected or focused elements
217
- **Usage:** accent-emphasis, focus-border, selected-border
218
- **Rules:** Use for selected elements and focus states. Strong visual emphasis.
219
-
220
- ### borderColor-accent-muted
221
- Subtle accent border for selected or focused elements
222
- **Usage:** accent-muted, info-muted, selected-muted
223
- **Rules:** Use for accent-colored borders on selected elements. Pair with bgColor.accent.muted.
224
-
225
- ### borderColor-attention-emphasis
226
- Strong attention border for prominent warnings
227
- **Usage:** attention-emphasis, caution-emphasis, warning-emphasis
228
- **Rules:** Use for emphasized warning borders. Pair with bgColor.attention.emphasis.
229
-
230
- ### borderColor-attention-muted
231
- Subtle attention border for warnings and caution states
232
- **Usage:** attention-muted, caution-muted, warning-muted
233
- **Rules:** Use for warning state borders. Pair with bgColor.attention.muted.
234
-
235
- ### borderColor-closed-emphasis
236
- Strong border for closed state badges
237
- **Usage:** closed-emphasis, closed-status
238
- **Rules:** Use for emphasized closed state borders. Pair with bgColor.closed.emphasis.
239
-
240
- ### borderColor-closed-muted
241
- Subtle border for closed state indicators
242
- **Usage:** closed-issue, closed-muted, closed-pr
243
- **Rules:** Use for closed/declined status borders. Specifically for GitHub issues and PRs.
244
-
245
- ### borderColor-danger-emphasis
246
- Strong danger border for destructive actions and errors
247
- **Usage:** danger-emphasis, destructive-emphasis, error-emphasis
248
- **Rules:** MUST use for destructive action borders. Pair with bgColor.danger.emphasis.
249
-
250
- ### borderColor-danger-muted
251
- Subtle danger border for errors and destructive contexts
252
- **Usage:** danger-muted, destructive-muted, error-muted
253
- **Rules:** Use for error state borders. Pair with bgColor.danger.muted.
254
-
255
- ### borderColor-default
256
- Default border color for most UI elements
257
- **Usage:** card-border, default-border, divider, input-border
258
- **Rules:** RECOMMENDED default for all borders. Use for cards, inputs, and dividers.
259
-
260
- ### borderColor-disabled
261
- Border color for disabled interactive elements
262
- **Usage:** disabled-border, inactive-border, unavailable
263
- **Rules:** MUST use for disabled state borders. Pair with bgColor.disabled. Do NOT use for active elements.
264
-
265
- ### borderColor-done-emphasis
266
- Strong border for completed/done state badges
267
- **Usage:** done-emphasis, merged-status
268
- **Rules:** Use for emphasized done state borders. Pair with bgColor.done.emphasis.
269
-
270
- ### borderColor-done-muted
271
- Subtle border for completed/done state indicators
272
- **Usage:** completed, done-muted, merged
273
- **Rules:** Use for completed/done status borders. Conveys finished or merged state.
274
-
275
- ### borderColor-draft-emphasis
276
- Strong border for draft state badges
277
- **Usage:** draft-emphasis, draft-status
278
- **Rules:** Use for emphasized draft state borders. Pair with bgColor.draft.emphasis.
279
-
280
- ### borderColor-draft-muted
281
- Subtle border for draft state indicators
282
- **Usage:** draft-issue, draft-muted, draft-pr
283
- **Rules:** Use for draft/WIP status borders. Conveys incomplete or pending state.
284
-
285
- ### borderColor-emphasis
286
- Strong border for emphasis and visual weight
287
- **Usage:** emphasis-border, selected-border, strong-border
288
- **Rules:** Use for borders needing more visual weight. Darker than borderColor.default.
289
-
290
- ### borderColor-muted
291
- Subtle border for secondary elements and light separators
292
- **Usage:** light-divider, secondary-border, subtle-border
293
- **Rules:** Use for subtle borders and separators. Less prominent than borderColor.default.
294
-
295
- ### borderColor-neutral-emphasis
296
- Strong neutral semantic border
297
- **Usage:** neutral-emphasis, neutral-strong
298
- **Rules:** Use for emphasized neutral semantic borders. Stronger than neutral.muted.
299
-
300
- ### borderColor-neutral-muted
301
- Subtle neutral semantic border
302
- **Usage:** neutral-muted, neutral-secondary
303
- **Rules:** Use for neutral semantic borders on tags and badges. Prefer borderColor.muted for general use.
304
-
305
- ### borderColor-open-emphasis
306
- Strong border for open state badges
307
- **Usage:** open-emphasis, open-status
308
- **Rules:** Use for emphasized open state borders. Pair with bgColor.open.emphasis.
309
-
310
- ### borderColor-open-muted
311
- Subtle border for open state indicators
312
- **Usage:** open-issue, open-muted, open-pr
313
- **Rules:** Use for open/active status borders. Specifically for GitHub issues and PRs.
314
-
315
- ### borderColor-severe-emphasis
316
- Strong severe border for prominent high-priority warnings
317
- **Usage:** severe-emphasis, urgent-emphasis
318
- **Rules:** Use for emphasized severe borders. Pair with bgColor.severe.emphasis.
319
-
320
- ### borderColor-severe-muted
321
- Subtle severe border for high-priority warnings
322
- **Usage:** severe-muted, urgent-muted
323
- **Rules:** Use for severe warning borders. More critical than attention, less than danger.
324
-
325
- ### borderColor-sponsors-emphasis
326
- Strong border for prominent GitHub Sponsors elements
327
- **Usage:** funding-emphasis, sponsors-emphasis
328
- **Rules:** Use for emphasized Sponsors borders. Pair with bgColor.sponsors.emphasis.
329
-
330
- ### borderColor-sponsors-muted
331
- Subtle border for GitHub Sponsors content
332
- **Usage:** funding-muted, sponsors-muted
333
- **Rules:** Use for GitHub Sponsors related borders. Do NOT use for general pink-colored elements.
334
-
335
- ### borderColor-success-emphasis
336
- Strong success border for prominent positive elements
337
- **Usage:** confirmed, positive-emphasis, success-emphasis
338
- **Rules:** Use for emphasized success borders. Pair with bgColor.success.emphasis.
339
-
340
- ### borderColor-success-muted
341
- Subtle success border for positive feedback elements
342
- **Usage:** positive-muted, success-muted, valid-muted
343
- **Rules:** Use for success state borders. Pair with bgColor.success.muted.
344
-
345
- ### borderColor-translucent
346
- Semi-transparent border for overlays and layered elements
347
- **Usage:** overlay-border, translucent-border
348
- **Rules:** Use for semi-transparent borders on overlays. Works well with translucent backgrounds.
349
-
350
- ### borderColor-upsell-emphasis
351
- Strong border for prominent upsell elements
352
- **Usage:** premium-emphasis, upsell-emphasis
353
- **Rules:** Use for emphasized upsell borders. Pair with bgColor.upsell.emphasis.
354
-
355
- ### borderColor-upsell-muted
356
- Subtle border for upsell and promotional content
357
- **Usage:** premium-muted, upsell-muted
358
- **Rules:** Use for upgrade prompts and premium feature borders. Do NOT use for regular content.
359
-
360
- ## BorderRadius
361
-
362
- ### borderRadius-full
363
- Use this border radius for pill shaped elements
364
- **Usage:** avatar, circular-button, pill-badge
365
- **Rules:** Use for avatars and pill-shaped elements. Do NOT use for rectangular containers.
366
-
367
- ### borderRadius-large
368
- Large border radius (12px). Use for larger containers, dialogs, or when more visual softness is desired. Always use this for buttons.
369
- **Usage:** card, dialog, modal
370
- **Rules:** Recommended for dialogs and modals.
371
-
372
- ### borderRadius-medium
373
- Medium border radius (6px). The default choice for most buttons, cards, and containers
374
- **Usage:** button, card, container, input, select, textarea
375
- **Rules:** Default choice for most components. Use for inputs, cards, and general containers.
376
-
377
- ### borderRadius-small
378
- Small border radius (3px). Use for small variants of components or small UI elements like badges, tags, or anything below 16px in height
379
- **Usage:** badge, label, small-input, tag
380
- **Rules:** Use for small UI elements under 16px height. Do NOT use for buttons or cards.
381
-
382
- ## BorderWidth
383
-
384
- ### borderWidth-thick
385
- Thick 2px border for emphasis. Use for focus indicators, selected states, or to emphasize important boundaries
386
- **Usage:** emphasis-border, focus-indicator, selected-state
387
- **Rules:** MUST use for focus rings on interactive elements. Do NOT use for subtle dividers.
388
-
389
- ## Control
390
-
391
- **Usage:** button, form-control, form-control, input, interactive-element, select
392
- **Rules:** Use size variants consistently across related controls. Match control size to context: xsmall/small for dense UIs, medium for standard forms, large/xlarge for prominent CTAs. Use minTarget values to ensure touch accessibility on coarse pointer devices.
393
-
394
- ### general
395
- Size tokens for interactive controls (buttons, inputs, selects). Includes overall size, padding, line height, and gap values for each size variant.
396
- **Tokens:** control-bgColor-active, control-bgColor-disabled, control-bgColor-hover, control-bgColor-rest, control-bgColor-selected, control-borderColor-danger, control-borderColor-disabled, control-borderColor-emphasis, control-borderColor-rest, control-borderColor-selected, control-borderColor-success, control-borderColor-warning, control-fgColor-disabled, control-fgColor-placeholder, control-fgColor-rest, control-iconColor-rest, control-large-gap, control-large-lineBoxHeight, control-large-paddingBlock, control-large-paddingInline-normal, control-large-paddingInline-spacious, control-large-size, control-medium-gap, control-medium-lineBoxHeight, control-medium-paddingBlock, control-medium-paddingInline-condensed, control-medium-paddingInline-normal, control-medium-paddingInline-spacious, control-medium-size, control-minTarget-coarse, control-minTarget-fine, control-small-gap, control-small-lineBoxHeight, control-small-paddingBlock, control-small-paddingInline-condensed, control-small-paddingInline-normal, control-small-size, control-xlarge-gap, control-xlarge-lineBoxHeight, control-xlarge-paddingBlock, control-xlarge-paddingInline-normal, control-xlarge-paddingInline-spacious, control-xlarge-size, control-xsmall-gap, control-xsmall-lineBoxHeight, control-xsmall-paddingBlock, control-xsmall-paddingInline-condensed, control-xsmall-paddingInline-normal, control-xsmall-paddingInline-spacious, control-xsmall-size
397
-
398
- ### checked
399
- Colors for checked/selected state of checkboxes, radio buttons, and toggle switches.
400
- **Tokens:** control-checked-bgColor-active, control-checked-bgColor-disabled, control-checked-bgColor-hover, control-checked-bgColor-rest, control-checked-borderColor-active, control-checked-borderColor-disabled, control-checked-borderColor-hover, control-checked-borderColor-rest, control-checked-fgColor-disabled, control-checked-fgColor-rest
401
-
402
- ### danger
403
- Danger control colors for destructive actions like delete buttons and remove actions.
404
- **Tokens:** control-danger-bgColor-active, control-danger-bgColor-hover, control-danger-fgColor-hover, control-danger-fgColor-rest
405
-
406
- ### transparent
407
- Transparent control colors for ghost buttons and tertiary actions with no visible background at rest.
408
- **Tokens:** control-transparent-bgColor-active, control-transparent-bgColor-disabled, control-transparent-bgColor-hover, control-transparent-bgColor-rest, control-transparent-bgColor-selected, control-transparent-borderColor-active, control-transparent-borderColor-hover, control-transparent-borderColor-rest
409
-
410
- ## ControlKnob
411
-
412
- **Usage:** slider-thumb, switch-handle, toggle-knob
413
- **Rules:** Use for the movable handle/thumb of toggle switches and sliders. Pair with controlTrack tokens for the background rail.
414
-
415
- Colors for toggle switch knobs (the circular handle that moves along the track).
416
- **Tokens:** controlKnob-bgColor-checked, controlKnob-bgColor-disabled, controlKnob-bgColor-rest, controlKnob-borderColor-checked, controlKnob-borderColor-disabled, controlKnob-borderColor-rest
417
-
418
- ## ControlStack
419
-
420
- **Usage:** action-bar, button-group, form-control-group, toolbar
421
- **Rules:** Use with groups of related controls. Match gap size to control size (small controls use small gaps). Condensed for tight groupings, spacious for separated actions.
422
-
423
- Gap tokens for groups of controls (buttons, form elements) arranged in a row or column.
424
- **Tokens:** controlStack-large-gap-auto, controlStack-large-gap-condensed, controlStack-large-gap-spacious, controlStack-medium-gap-condensed, controlStack-medium-gap-spacious, controlStack-small-gap-condensed, controlStack-small-gap-spacious
425
-
426
- ## ControlTrack
427
-
428
- **Usage:** slider-track, switch-track, toggle-track
429
- **Rules:** Use for the track/rail element of toggle switches and sliders. Pair with controlKnob tokens for the movable handle.
430
-
431
- Colors for toggle switch tracks (the background rail that the knob slides along).
432
- **Tokens:** controlTrack-bgColor-active, controlTrack-bgColor-disabled, controlTrack-bgColor-hover, controlTrack-bgColor-rest, controlTrack-borderColor-disabled, controlTrack-borderColor-rest, controlTrack-fgColor-disabled, controlTrack-fgColor-rest
433
-
434
- ## Data
435
-
436
- **Usage:** area-chart, bar-fill, chart-series, data-point, graph-line, pie-segment
437
- **Rules:** Use data colors for visualizations only. Do NOT use for semantic meaning (use bgColor.success/danger instead). When using multiple series, ensure sufficient contrast between adjacent colors. Pair emphasis with muted variants of the same color for cohesive styling.
438
-
439
- Colors for data visualization including charts, graphs, and diagrams. Use these colors to differentiate data series. Emphasis variants are for lines, bars, and borders. Muted variants are for area fills and backgrounds.
440
- **Tokens:** data-auburn-color-emphasis, data-auburn-color-muted, data-blue-color-emphasis, data-blue-color-muted, data-brown-color-emphasis, data-brown-color-muted, data-coral-color-emphasis, data-coral-color-muted, data-gray-color-emphasis, data-gray-color-muted, data-green-color-emphasis, data-green-color-muted, data-lemon-color-emphasis, data-lemon-color-muted, data-lime-color-emphasis, data-lime-color-muted, data-olive-color-emphasis, data-olive-color-muted, data-orange-color-emphasis, data-orange-color-muted, data-pine-color-emphasis, data-pine-color-muted, data-pink-color-emphasis, data-pink-color-muted, data-plum-color-emphasis, data-plum-color-muted, data-purple-color-emphasis, data-purple-color-muted, data-red-color-emphasis, data-red-color-muted, data-teal-color-emphasis, data-teal-color-muted, data-yellow-color-emphasis, data-yellow-color-muted
441
-
442
- ## Easing
443
-
444
- ### base-easing-ease
445
- CSS default easing. Use for hover state changes and micro-interactions.
446
- **Usage:** button-hover, hover-state, link-hover, micro-interaction
447
- **Rules:** Use for hover state changes.
448
-
449
- ### base-easing-easeIn
450
- Accelerating motion. Use for elements exiting the viewport (moving off-screen).
451
- **Usage:** element-leaving, exit-animation, off-screen-motion
452
- **Rules:** Rarely used alone. Prefer ease-out for most exit animations.
453
-
454
- ### base-easing-easeInOut
455
- Smooth acceleration and deceleration. Use for elements moving or morphing within the viewport.
456
- **Usage:** expand-collapse, morph-animation, position-change, size-change, slide-transition
457
- **Rules:** Use if an element moves or morphs on screen.
458
-
459
- ### base-easing-easeOut
460
- Decelerating motion. Use for elements entering the viewport or appearing on screen.
461
- **Usage:** dropdown-open, element-appearing, enter-animation, modal-open, tooltip-appear
462
- **Rules:** RECOMMENDED default. Use if an element enters or exits the viewport.
463
-
464
- ### base-easing-linear
465
- Constant motion with no acceleration. Use for continuous animations like progress bars or loaders.
466
- **Usage:** continuous-animation, loader, progress-bar, scrolling
467
- **Rules:** Use if the motion is constant.
468
-
469
- ## text and foreground color
470
-
471
- ### fgColor-accent
472
- Accent text for links and interactive elements
473
- **Usage:** accent-icon, accent-text, info-text
474
- **Rules:** Use for accent-colored text and icons. Pair with bgColor.accent.muted for backgrounds.
475
-
476
- ### fgColor-attention
477
- Attention text for warnings and caution states
478
- **Usage:** attention-text, caution-text, warning-text
479
- **Rules:** Use for warning and caution text. Pair with bgColor.attention.muted for backgrounds.
480
-
481
- ### fgColor-closed
482
- Text color for closed state indicators (issues, PRs)
483
- **Usage:** closed-issue, closed-pr, closed-text
484
- **Rules:** Use for closed/declined status text. Specifically for GitHub issues and PRs.
485
-
486
- ### fgColor-danger
487
- Danger text for errors and destructive actions
488
- **Usage:** danger-text, destructive-text, error-text
489
- **Rules:** Use for error messages and destructive action text. Pair with bgColor.danger.muted for backgrounds.
490
-
491
- ### fgColor-default
492
- Default text color for primary content and headings
493
- **Usage:** body-text, default-text, heading
494
- **Rules:** RECOMMENDED default for all text. Use for headings, body text, and primary labels.
495
-
496
- ### fgColor-disabled
497
- Text color for disabled interactive elements
498
- **Usage:** disabled-text, inactive-text, unavailable
499
- **Rules:** MUST use for disabled state text. Pair with bgColor.disabled. Do NOT use for active elements.
500
-
501
- ### fgColor-done
502
- Text color for completed/done state indicators
503
- **Usage:** completed, done-text, merged
504
- **Rules:** Use for completed/done status text. Conveys finished or merged state.
505
-
506
- ### fgColor-draft
507
- Text color for draft state indicators
508
- **Usage:** draft-issue, draft-pr, draft-text
509
- **Rules:** Use for draft/WIP status text. Conveys incomplete or pending state.
510
-
511
- ### fgColor-link
512
- Text color for hyperlinks
513
- **Usage:** hyperlink, link-text
514
- **Rules:** MUST use for all text links. Provides expected link affordance.
515
-
516
- ### fgColor-muted
517
- Muted text for secondary content and less important information
518
- **Usage:** helper-text, muted-text, placeholder, secondary-text
519
- **Rules:** Use for secondary text like timestamps, metadata, and helper text. Do NOT use for primary content.
520
-
521
- ### fgColor-neutral
522
- Neutral semantic text for icons and secondary elements
523
- **Usage:** neutral-icon, neutral-text
524
- **Rules:** Use for neutral semantic elements. Prefer fgColor.muted for secondary text.
525
-
526
- ### fgColor-onEmphasis
527
- Text color for use on emphasis backgrounds
528
- **Usage:** contrast-text, text-on-emphasis
529
- **Rules:** MUST use for text on any emphasis background (bgColor.*.emphasis). Ensures accessibility contrast.
530
-
531
- ### fgColor-onInverse
532
- Text color for use on inverse backgrounds
533
- **Usage:** inverse-text, text-on-inverse
534
- **Rules:** Use for text on bgColor.inverse. Provides appropriate contrast in both themes.
535
-
536
- ### fgColor-open
537
- Text color for open state indicators (issues, PRs)
538
- **Usage:** open-issue, open-pr, open-text
539
- **Rules:** Use for open/active status text. Specifically for GitHub issues and PRs.
540
-
541
- ### fgColor-severe
542
- Severe text for high-priority warnings
543
- **Usage:** severe-icon, severe-text, urgent-text
544
- **Rules:** Use for severe warnings, less critical than danger. Pair with bgColor.severe.muted for backgrounds.
545
-
546
- ### fgColor-sponsors
547
- Text color for GitHub Sponsors content
548
- **Usage:** funding-text, sponsors-icon, sponsors-text
549
- **Rules:** Use for GitHub Sponsors related text. Do NOT use for general pink-colored text.
550
-
551
- ### fgColor-success
552
- Success text for positive feedback and completed states
553
- **Usage:** positive-text, success-icon, success-text
554
- **Rules:** Use for success states and positive feedback text. Pair with bgColor.success.muted for backgrounds.
555
-
556
- ### fgColor-upsell
557
- Text color for upsell and promotional content
558
- **Usage:** premium-text, promotional, upsell-text
559
- **Rules:** Use for upgrade prompts and premium feature text. Do NOT use for regular content.
560
-
561
- ## Focus
562
-
563
- ### focus-outline
564
- Focus ring outline for keyboard navigation and accessibility.
565
- **Usage:** accessibility-indicator, focus-ring, keyboard-navigation
566
- **Rules:** 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.
567
-
568
- ### focus-outlineColor
569
- Outline color for focus states on interactive elements
570
- **Usage:** accessibility-indicator, focus-ring, keyboard-navigation
571
- **Rules:** 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.
572
-
573
- ## FontStack
574
-
575
- ### fontStack-monospace
576
- Monospace font stack for code, technical content, and tabular data.
577
- **Usage:** code-block, inline-code, tabular-numbers, technical-data, terminal
578
- **Rules:** MUST use for all code display. Use for technical content requiring fixed-width characters.
579
-
580
- ### fontStack-sansSerif
581
- Sans-serif font stack for body text and general UI elements.
582
- **Usage:** body-text, form-inputs, labels, paragraphs
583
- **Rules:** Default font stack for all UI text. Use for body text and standard UI elements. MUST use for readable content.
584
-
585
- ### fontStack-sansSerifDisplay
586
- Display font stack for headings and titles. Same as sansSerif but semantically distinct.
587
- **Usage:** display-text, heading, hero-text, title
588
- **Rules:** Use for headings and display text. Prefer over sansSerif for titles.
589
-
590
- ## Outline
591
-
592
- ### outline-focus-width
593
- Focus outline width (2px). Standard width for keyboard focus indicators to meet WCAG 2.4.7 accessibility requirements
594
- **Usage:** accessibility, focus-ring, keyboard-focus
595
- **Rules:** MUST use for all keyboard focus indicators. Required for WCAG 2.4.7 compliance.
596
-
597
- ## Overlay
598
-
599
- **Usage:** dialog, dropdown, modal, overlay-panel, popover, tooltip
600
- **Rules:** Match overlay size to content: xsmall/small for menus and tooltips, medium for dialogs, large/xlarge for complex modals. Use height tokens to constrain scrollable overlays. Always consider viewport size constraints.
601
-
602
- Dimension tokens for overlay components like modals, dialogs, popovers, and dropdown menus.
603
- **Tokens:** overlay-backdrop-bgColor, overlay-bgColor, overlay-borderColor, overlay-borderRadius, overlay-height-large, overlay-height-medium, overlay-height-small, overlay-height-xlarge, overlay-offset, overlay-padding-condensed, overlay-padding-normal, overlay-paddingBlock-condensed, overlay-paddingBlock-normal, overlay-width-large, overlay-width-medium, overlay-width-small, overlay-width-xlarge, overlay-width-xsmall
604
-
605
- ## Selection
606
-
607
- ### selection-bgColor
608
- Background color for text selection highlights
609
- **Usage:** highlighted-text, selected-content, text-selection
610
- **Rules:** Use for native text selection (::selection) and programmatic text highlighting. Do NOT use for general emphasis or background colors on containers.
611
-
612
- ## Shadow
613
-
614
- ### shadow-floating-large
615
- Large floating shadow for modals and dialogs
616
- **Usage:** dialog, full-screen-overlay, modal
617
- **Rules:** MUST use for modals and dialogs. Do NOT use for small floating elements.
618
-
619
- ### shadow-floating-small
620
- Small floating shadow for dropdowns, tooltips, and small overlays
621
- **Usage:** dropdown, menu, popover, tooltip
622
- **Rules:** Use for small floating elements like dropdowns and tooltips. Do NOT use for modals or dialogs.
623
-
624
- ## Spinner
625
-
626
- **Usage:** async-loading, loading-spinner, progress-indicator
627
- **Rules:** Match spinner size to context: small for inline loading, medium for buttons and cards, large for full-page loading states.
628
-
629
- Size and stroke tokens for loading spinner components.
630
- **Tokens:** spinner-size-large, spinner-size-medium, spinner-size-small, spinner-strokeWidth-default
631
-
632
- ## Stack
633
-
634
- **Usage:** flex-container, horizontal-stack, stack-layout, vertical-stack
635
- **Rules:** Use condensed for dense lists, normal for standard layouts, spacious for prominent sections. Stack tokens provide consistent spacing within layout containers.
636
-
637
- Spacing tokens for Stack layout components including padding and gap values.
638
- **Tokens:** stack-gap-condensed, stack-gap-normal, stack-gap-spacious, stack-padding-condensed, stack-padding-normal, stack-padding-spacious
639
-
640
- ## Text
641
-
642
- ### text-body-shorthand-large
643
- User-generated content, markdown rendering.
644
- **Usage:** article-text, comment-body, markdown-content, readme
645
- **Rules:** Use for user-generated content and markdown. Better readability for longer text.
646
-
647
- ### text-body-shorthand-medium
648
- Default UI font. Most commonly used for body text.
649
- **Usage:** body-text, button-text, form-label, navigation, ui-text
650
- **Rules:** RECOMMENDED default for UI text. Use for buttons, labels, and general interface text.
651
-
652
- ### text-body-shorthand-small
653
- Small body text for discrete UI applications, such as helper, footnote text. Should be used sparingly across pages. Line-height matches Body (medium) at 20px.
654
- **Usage:** footnote, helper-text, metadata, timestamp
655
- **Rules:** Use sparingly for secondary information. Do NOT use for primary content or interactive elements.
656
-
657
- ### text-caption-shorthand
658
- Compact small font with a smaller line height of 16px. Use it for single-line scenarios, as the small sizing doesn’t pass accessibility requirements.
659
- **Usage:** badge-text, caption, label, single-line-metadata
660
- **Rules:** Use only for single-line or short text. Does NOT meet accessibility requirements for body text.
661
-
662
- ### text-codeBlock-shorthand
663
- Default style for rendering code blocks.
664
- **Usage:** code-block, code-snippet, pre-element, terminal-output
665
- **Rules:** MUST use for multi-line code. Use monospace font stack.
666
-
667
- ### text-codeInline-shorthand
668
- Inline code blocks using em units to inherit size from its parent.
669
- **Usage:** code-element, command, inline-code, variable-name
670
- **Rules:** Use for inline code within text. Size inherits from parent using em units.
671
-
672
- ### text-display-shorthand
673
- Hero-style text for brand to product transition pages. Utilize Title (large) styles on narrow viewports.
674
- **Usage:** hero-section, landing-page, marketing-header
675
- **Rules:** Use sparingly for hero sections. Switch to title.large on narrow viewports.
676
-
677
- ### text-subtitle-shorthand
678
- Page sections/sub headings, or less important object names in page titles (automated action titles, for example). Same line-height as title (medium).
679
- **Usage:** description, lead-text, secondary-heading, subtitle
680
- **Rules:** Use below titles for supporting text. Normal weight distinguishes from title styles.
681
-
682
- ### text-title-shorthand-large
683
- Page headings for user-created objects, such as issues or pull requests. Utilize title (medium) styles on narrow viewports.
684
- **Usage:** h1, issue-title, page-heading, pr-title
685
- **Rules:** Use for primary page headings. Switch to title.medium on narrow viewports.
686
-
687
- ### text-title-shorthand-medium
688
- Default page title. The 32px-equivalent line-height matches with button and other medium control heights. Great for page header composition.
689
- **Usage:** card-title, dialog-title, h2, section-heading
690
- **Rules:** RECOMMENDED default for page titles. Use for section headings and dialog titles.
691
-
692
- ### text-title-shorthand-small
693
- Uses the same size as body (large) with a heavier weight of semibold (600).
694
- **Usage:** h3, list-title, sidebar-heading, subsection-heading
695
- **Rules:** Use for smaller headings within sections. Same size as body.large but semibold.