@primer/primitives 9.1.0-rc.e0e1c4b6 → 9.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/build/PrimerStyleDictionary.js +1 -0
  2. package/dist/build/formats/cssAdvanced.js +9 -10
  3. package/dist/build/transformers/index.d.ts +1 -0
  4. package/dist/build/transformers/index.js +3 -1
  5. package/dist/css/functional/motion/motion.css +3 -3
  6. package/dist/css/functional/size/border.css +2 -2
  7. package/dist/css/functional/typography/typography.css +11 -11
  8. package/dist/css/primitives.css +16 -16
  9. package/package.json +5 -3
  10. package/src/tokens/base/color/dark/dark.dimmed.json5 +1164 -0
  11. package/src/tokens/base/color/dark/dark.high-contrast.json5 +764 -0
  12. package/src/tokens/base/color/dark/dark.json5 +911 -0
  13. package/src/tokens/base/color/dark/display-dark.json5 +1774 -0
  14. package/src/tokens/base/color/light/display-light.json5 +1774 -0
  15. package/src/tokens/base/color/light/light.high-contrast.json5 +755 -0
  16. package/src/tokens/base/color/light/light.json5 +911 -0
  17. package/src/tokens/base/size/size.json +196 -0
  18. package/src/tokens/base/typography/typography.json +48 -0
  19. package/src/tokens/fallback/color-fallbacks.json +270 -0
  20. package/src/tokens/functional/border/dark.json5 +12 -0
  21. package/src/tokens/functional/border/light.json5 +12 -0
  22. package/src/tokens/functional/color/dark/app-dark.json5 +554 -0
  23. package/src/tokens/functional/color/dark/data-vis-dark.json5 +284 -0
  24. package/src/tokens/functional/color/dark/display-dark.json5 +1258 -0
  25. package/src/tokens/functional/color/dark/overrides/dark.dimmed.json5 +194 -0
  26. package/src/tokens/functional/color/dark/overrides/dark.high-contrast.json5 +935 -0
  27. package/src/tokens/functional/color/dark/overrides/dark.protanopia-deuteranopia.json5 +310 -0
  28. package/src/tokens/functional/color/dark/overrides/dark.tritanopia.json5 +224 -0
  29. package/src/tokens/functional/color/dark/patterns-dark.json5 +3097 -0
  30. package/src/tokens/functional/color/dark/primitives-dark.json5 +1200 -0
  31. package/src/tokens/functional/color/dark/syntax-dark.json5 +559 -0
  32. package/src/tokens/functional/color/light/app-light.json5 +551 -0
  33. package/src/tokens/functional/color/light/data-vis-light.json5 +284 -0
  34. package/src/tokens/functional/color/light/display-light.json5 +1258 -0
  35. package/src/tokens/functional/color/light/overrides/light.high-contrast.json5 +819 -0
  36. package/src/tokens/functional/color/light/overrides/light.protanopia-deuteranopia.json5 +327 -0
  37. package/src/tokens/functional/color/light/overrides/light.tritanopia.json5 +237 -0
  38. package/src/tokens/functional/color/light/patterns-light.json5 +3091 -0
  39. package/src/tokens/functional/color/light/primitives-light.json5 +1193 -0
  40. package/src/tokens/functional/color/light/syntax-light.json5 +559 -0
  41. package/src/tokens/functional/motion/loading.json5 +17 -0
  42. package/src/tokens/functional/motion/patterns.json5 +28 -0
  43. package/src/tokens/functional/shadow/dark.json5 +383 -0
  44. package/src/tokens/functional/shadow/light.json5 +376 -0
  45. package/src/tokens/functional/size/border.json +111 -0
  46. package/src/tokens/functional/size/breakpoints.json +64 -0
  47. package/src/tokens/functional/size/size-coarse.json +28 -0
  48. package/src/tokens/functional/size/size-fine.json +28 -0
  49. package/src/tokens/functional/size/size.json +740 -0
  50. package/src/tokens/functional/size/viewport.json +28 -0
  51. package/src/tokens/functional/typography/typography.json +527 -0
  52. package/src/tokens/removed/color.json +421 -0
  53. package/src/tokens/removed/testing.json5 +4 -0
@@ -0,0 +1,28 @@
1
+ {
2
+ "viewportRange": {
3
+ "narrow": {
4
+ "$value": "(max-width: calc({breakpoint.medium} - 0.02px))",
5
+ "$type": "custom-viewportRange"
6
+ },
7
+ "narrowLandscape": {
8
+ "$value": "(max-width: calc({breakpoint.large} - 0.02px) and (max-height: calc({breakpoint.small} - 0.02px)) and (orientation: landscape))",
9
+ "$type": "custom-viewportRange"
10
+ },
11
+ "regular": {
12
+ "$value": "(min-width: {breakpoint.medium})",
13
+ "$type": "custom-viewportRange"
14
+ },
15
+ "wide": {
16
+ "$value": "(min-width: {breakpoint.xxlarge})",
17
+ "$type": "custom-viewportRange"
18
+ },
19
+ "portrait": {
20
+ "$value": "(orientation: portrait)",
21
+ "$type": "custom-viewportRange"
22
+ },
23
+ "landscape": {
24
+ "$value": "(orientation: landscape)",
25
+ "$type": "custom-viewportRange"
26
+ }
27
+ }
28
+ }
@@ -0,0 +1,527 @@
1
+ {
2
+ "fontStack": {
3
+ "system": {
4
+ "$value": "-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji'",
5
+ "$type": "fontFamily",
6
+ "$extensions": {
7
+ "org.primer.figma": {
8
+ "collection": "typography",
9
+ "scopes": ["fontFamily"]
10
+ }
11
+ }
12
+ },
13
+ "sansSerif": {
14
+ "$value": "-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji'",
15
+ "$type": "fontFamily",
16
+ "$extensions": {
17
+ "org.primer.figma": {
18
+ "collection": "typography",
19
+ "scopes": ["fontFamily"]
20
+ }
21
+ }
22
+ },
23
+ "sansSerifDisplay": {
24
+ "$value": "-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji'",
25
+ "$type": "fontFamily",
26
+ "$extensions": {
27
+ "org.primer.figma": {
28
+ "collection": "typography",
29
+ "scopes": ["fontFamily"]
30
+ }
31
+ }
32
+ },
33
+ "monospace": {
34
+ "$value": "ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace",
35
+ "$type": "fontFamily",
36
+ "$extensions": {
37
+ "org.primer.figma": {
38
+ "collection": "typography",
39
+ "scopes": ["fontFamily"]
40
+ }
41
+ }
42
+ }
43
+ },
44
+ "text": {
45
+ "display": {
46
+ "lineBoxHeight": {
47
+ "$value": 1.4,
48
+ "$type": "number",
49
+ "$extensions": {
50
+ "org.primer.data": {
51
+ "fontSize": 40
52
+ },
53
+ "org.primer.figma": {
54
+ "collection": "typography",
55
+ "scopes": ["lineHeight"],
56
+ "fontSizeInPx": 40
57
+ }
58
+ }
59
+ },
60
+ "size": {
61
+ "$value": "40px",
62
+ "$type": "dimension",
63
+ "$extensions": {
64
+ "org.primer.figma": {
65
+ "collection": "typography",
66
+ "scopes": ["fontSize"]
67
+ }
68
+ }
69
+ },
70
+ "lineHeight": {
71
+ "$value": 1.4,
72
+ "$type": "number",
73
+ "$extensions": {
74
+ "org.primer.data": {
75
+ "fontSize": 40
76
+ },
77
+ "org.primer.figma": {
78
+ "collection": "typography",
79
+ "scopes": ["lineHeight"]
80
+ }
81
+ }
82
+ },
83
+ "weight": {
84
+ "$value": "{base.text.weight.medium}",
85
+ "$type": "fontWeight",
86
+ "$extensions": {
87
+ "org.primer.figma": {
88
+ "collection": "typography",
89
+ "scopes": ["fontWeight"]
90
+ }
91
+ }
92
+ },
93
+ "shorthand": {
94
+ "$value": {
95
+ "fontWeight": "{text.display.weight}",
96
+ "fontSize": "{text.display.size}",
97
+ "lineHeight": "{text.display.lineHeight}",
98
+ "fontFamily": "{fontStack.sansSerifDisplay}"
99
+ },
100
+ "$type": "typography",
101
+ "$description": "Hero-style text for brand to product transition pages. Utilize Title (large) styles on narrow viewports."
102
+ }
103
+ },
104
+ "title": {
105
+ "size": {
106
+ "large": {
107
+ "$value": "32px",
108
+ "$type": "dimension",
109
+ "$extensions": {
110
+ "org.primer.figma": {
111
+ "collection": "typography",
112
+ "scopes": ["fontSize"]
113
+ }
114
+ }
115
+ },
116
+ "medium": {
117
+ "$value": "20px",
118
+ "$type": "dimension",
119
+ "$extensions": {
120
+ "org.primer.figma": {
121
+ "collection": "typography",
122
+ "scopes": ["fontSize"]
123
+ }
124
+ }
125
+ },
126
+ "small": {
127
+ "$value": "16px",
128
+ "$type": "dimension",
129
+ "$extensions": {
130
+ "org.primer.figma": {
131
+ "collection": "typography",
132
+ "scopes": ["fontSize"]
133
+ }
134
+ }
135
+ }
136
+ },
137
+ "lineHeight": {
138
+ "large": {
139
+ "$value": 1.5,
140
+ "$type": "number",
141
+ "$extensions": {
142
+ "org.primer.data": {
143
+ "fontSize": 32
144
+ },
145
+ "org.primer.figma": {
146
+ "collection": "typography",
147
+ "scopes": ["lineHeight"]
148
+ }
149
+ }
150
+ },
151
+ "medium": {
152
+ "$value": 1.6,
153
+ "$type": "number",
154
+ "$extensions": {
155
+ "org.primer.data": {
156
+ "fontSize": 20
157
+ },
158
+ "org.primer.figma": {
159
+ "collection": "typography",
160
+ "scopes": ["lineHeight"]
161
+ }
162
+ }
163
+ },
164
+ "small": {
165
+ "$value": 1.5,
166
+ "$type": "number",
167
+ "$extensions": {
168
+ "org.primer.data": {
169
+ "fontSize": 16
170
+ },
171
+ "org.primer.figma": {
172
+ "collection": "typography",
173
+ "scopes": ["lineHeight"]
174
+ }
175
+ }
176
+ }
177
+ },
178
+ "weight": {
179
+ "large": {
180
+ "$value": "{base.text.weight.semibold}",
181
+ "$type": "fontWeight",
182
+ "$extensions": {
183
+ "org.primer.figma": {
184
+ "collection": "typography",
185
+ "scopes": ["fontWeight"]
186
+ }
187
+ }
188
+ },
189
+ "medium": {
190
+ "$value": "{base.text.weight.semibold}",
191
+ "$type": "fontWeight",
192
+ "$extensions": {
193
+ "org.primer.figma": {
194
+ "collection": "typography",
195
+ "scopes": ["fontWeight"]
196
+ }
197
+ }
198
+ },
199
+ "small": {
200
+ "$value": "{base.text.weight.semibold}",
201
+ "$type": "fontWeight",
202
+ "$extensions": {
203
+ "org.primer.figma": {
204
+ "collection": "typography",
205
+ "scopes": ["fontWeight"]
206
+ }
207
+ }
208
+ }
209
+ },
210
+ "shorthand": {
211
+ "large": {
212
+ "$value": {
213
+ "fontWeight": "{text.title.weight.large}",
214
+ "fontSize": "{text.title.size.large}",
215
+ "lineHeight": "{text.title.lineHeight.large}",
216
+ "fontFamily": "{fontStack.sansSerifDisplay}"
217
+ },
218
+ "$type": "typography",
219
+ "$description": "Page headings for user-created objects, such as issues or pull requests. Utilize title (medium) styles on narrow viewports."
220
+ },
221
+ "medium": {
222
+ "$value": {
223
+ "fontWeight": "{text.title.weight.medium}",
224
+ "fontSize": "{text.title.size.medium}",
225
+ "lineHeight": "{text.title.lineHeight.medium}",
226
+ "fontFamily": "{fontStack.sansSerifDisplay}"
227
+ },
228
+ "$type": "typography",
229
+ "$description": "Default page title. The 32px-equivalent line-height matches with button and other medium control heights. Great for page header composition."
230
+ },
231
+ "small": {
232
+ "$value": {
233
+ "fontWeight": "{text.title.weight.small}",
234
+ "fontSize": "{text.title.size.small}",
235
+ "lineHeight": "{text.title.lineHeight.small}",
236
+ "fontFamily": "{fontStack.sansSerif}"
237
+ },
238
+ "$type": "typography",
239
+ "$description": "Uses the same size as body (large) with a heavier weight of semibold (600)."
240
+ }
241
+ }
242
+ },
243
+ "subtitle": {
244
+ "size": {
245
+ "$value": "20px",
246
+ "$type": "dimension",
247
+ "$extensions": {
248
+ "org.primer.figma": {
249
+ "collection": "typography",
250
+ "scopes": ["fontSize"]
251
+ }
252
+ }
253
+ },
254
+ "lineHeight": {
255
+ "$value": 1.6,
256
+ "$type": "number",
257
+ "$extensions": {
258
+ "org.primer.data": {
259
+ "fontSize": 20
260
+ },
261
+ "org.primer.figma": {
262
+ "collection": "typography",
263
+ "scopes": ["lineHeight"]
264
+ }
265
+ }
266
+ },
267
+ "weight": {
268
+ "$value": "{base.text.weight.normal}",
269
+ "$type": "fontWeight",
270
+ "$extensions": {
271
+ "org.primer.figma": {
272
+ "collection": "typography",
273
+ "scopes": ["fontWeight"]
274
+ }
275
+ }
276
+ },
277
+ "shorthand": {
278
+ "$value": {
279
+ "fontWeight": "{text.subtitle.weight}",
280
+ "fontSize": "{text.subtitle.size}",
281
+ "lineHeight": "{text.subtitle.lineHeight}",
282
+ "fontFamily": "{fontStack.sansSerifDisplay}"
283
+ },
284
+ "$type": "typography",
285
+ "$description": "Page sections/sub headings, or less important object names in page titles (automated action titles, for example). Same line-height as title (medium)."
286
+ }
287
+ },
288
+ "body": {
289
+ "size": {
290
+ "large": {
291
+ "$value": "16px",
292
+ "$type": "dimension",
293
+ "$extensions": {
294
+ "org.primer.figma": {
295
+ "collection": "typography",
296
+ "scopes": ["fontSize"]
297
+ }
298
+ }
299
+ },
300
+ "medium": {
301
+ "$value": "14px",
302
+ "$type": "dimension",
303
+ "$extensions": {
304
+ "org.primer.figma": {
305
+ "collection": "typography",
306
+ "scopes": ["fontSize"]
307
+ }
308
+ }
309
+ },
310
+ "small": {
311
+ "$value": "12px",
312
+ "$type": "dimension",
313
+ "$extensions": {
314
+ "org.primer.figma": {
315
+ "collection": "typography",
316
+ "scopes": ["fontSize"]
317
+ }
318
+ }
319
+ }
320
+ },
321
+ "lineHeight": {
322
+ "large": {
323
+ "$value": 1.5,
324
+ "$type": "number",
325
+ "$extensions": {
326
+ "org.primer.data": {
327
+ "fontSize": 16
328
+ },
329
+ "org.primer.figma": {
330
+ "collection": "typography",
331
+ "scopes": ["lineHeight"]
332
+ }
333
+ }
334
+ },
335
+ "medium": {
336
+ "$value": 1.4285,
337
+ "$type": "number",
338
+ "$extensions": {
339
+ "org.primer.data": {
340
+ "fontSize": 14
341
+ },
342
+ "org.primer.figma": {
343
+ "collection": "typography",
344
+ "scopes": ["lineHeight"]
345
+ }
346
+ }
347
+ },
348
+ "small": {
349
+ "$value": 1.6666,
350
+ "$type": "number",
351
+ "$extensions": {
352
+ "org.primer.data": {
353
+ "fontSize": 12
354
+ },
355
+ "org.primer.figma": {
356
+ "collection": "typography",
357
+ "scopes": ["lineHeight"]
358
+ }
359
+ }
360
+ }
361
+ },
362
+ "weight": {
363
+ "$value": "{base.text.weight.normal}",
364
+ "$type": "fontWeight",
365
+ "$extensions": {
366
+ "org.primer.figma": {
367
+ "collection": "typography",
368
+ "scopes": ["fontWeight"]
369
+ }
370
+ }
371
+ },
372
+ "shorthand": {
373
+ "large": {
374
+ "$value": {
375
+ "fontWeight": "{text.body.weight}",
376
+ "fontSize": "{text.body.size.large}",
377
+ "lineHeight": "{text.body.lineHeight.large}",
378
+ "fontFamily": "{fontStack.sansSerif}"
379
+ },
380
+ "$type": "typography",
381
+ "$description": "User-generated content, markdown rendering."
382
+ },
383
+ "medium": {
384
+ "$value": {
385
+ "fontWeight": "{text.body.weight}",
386
+ "fontSize": "{text.body.size.medium}",
387
+ "lineHeight": "{text.body.lineHeight.medium}",
388
+ "fontFamily": "{fontStack.sansSerif}"
389
+ },
390
+ "$type": "typography",
391
+ "$description": "Default UI font. Most commonly used for body text."
392
+ },
393
+ "small": {
394
+ "$value": {
395
+ "fontWeight": "{text.body.weight}",
396
+ "fontSize": "{text.body.size.small}",
397
+ "lineHeight": "{text.body.lineHeight.small}",
398
+ "fontFamily": "{fontStack.sansSerif}"
399
+ },
400
+ "$type": "typography",
401
+ "$description": "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."
402
+ }
403
+ }
404
+ },
405
+ "caption": {
406
+ "size": {
407
+ "$value": "12px",
408
+ "$type": "dimension",
409
+ "$extensions": {
410
+ "org.primer.figma": {
411
+ "collection": "typography",
412
+ "scopes": ["fontSize"]
413
+ }
414
+ }
415
+ },
416
+ "lineHeight": {
417
+ "$value": 1.3333,
418
+ "$type": "number",
419
+ "$extensions": {
420
+ "org.primer.data": {
421
+ "fontSize": 12
422
+ },
423
+ "org.primer.figma": {
424
+ "collection": "typography",
425
+ "scopes": ["lineHeight"]
426
+ }
427
+ }
428
+ },
429
+ "weight": {
430
+ "$value": "{base.text.weight.normal}",
431
+ "$type": "fontWeight",
432
+ "$extensions": {
433
+ "org.primer.figma": {
434
+ "collection": "typography",
435
+ "scopes": ["fontWeight"]
436
+ }
437
+ }
438
+ },
439
+ "shorthand": {
440
+ "$value": {
441
+ "fontWeight": "{text.caption.weight}",
442
+ "fontSize": "{text.caption.size}",
443
+ "lineHeight": "{text.caption.lineHeight}",
444
+ "fontFamily": "{fontStack.sansSerif}"
445
+ },
446
+ "$type": "typography",
447
+ "$description": "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."
448
+ }
449
+ },
450
+ "codeBlock": {
451
+ "size": {
452
+ "$value": "13px",
453
+ "$type": "dimension",
454
+ "$extensions": {
455
+ "org.primer.figma": {
456
+ "collection": "typography",
457
+ "scopes": ["fontSize"]
458
+ }
459
+ }
460
+ },
461
+ "lineHeight": {
462
+ "$value": 1.5385,
463
+ "$type": "number",
464
+ "$extensions": {
465
+ "org.primer.data": {
466
+ "fontSize": 13
467
+ },
468
+ "org.primer.figma": {
469
+ "collection": "typography",
470
+ "scopes": ["lineHeight"]
471
+ }
472
+ }
473
+ },
474
+ "weight": {
475
+ "$value": "{base.text.weight.normal}",
476
+ "$type": "fontWeight",
477
+ "$extensions": {
478
+ "org.primer.figma": {
479
+ "collection": "typography",
480
+ "scopes": ["fontWeight"]
481
+ }
482
+ }
483
+ },
484
+ "shorthand": {
485
+ "$value": {
486
+ "fontWeight": "{text.codeBlock.weight}",
487
+ "fontSize": "{text.codeBlock.size}",
488
+ "lineHeight": "{text.codeBlock.lineHeight}",
489
+ "fontFamily": "{fontStack.monospace}"
490
+ },
491
+ "$type": "typography",
492
+ "$description": "Default style for rendering code blocks."
493
+ }
494
+ },
495
+ "codeInline": {
496
+ "size": {
497
+ "$value": "0.9285em",
498
+ "$type": "dimension",
499
+ "$extensions": {
500
+ "org.primer.figma": {
501
+ "collection": "typography",
502
+ "scopes": ["fontSize"]
503
+ }
504
+ }
505
+ },
506
+ "weight": {
507
+ "$value": "{base.text.weight.normal}",
508
+ "$type": "fontWeight",
509
+ "$extensions": {
510
+ "org.primer.figma": {
511
+ "collection": "typography",
512
+ "scopes": ["fontWeight"]
513
+ }
514
+ }
515
+ },
516
+ "shorthand": {
517
+ "$value": {
518
+ "fontWeight": "{text.codeInline.weight}",
519
+ "fontSize": "{text.codeInline.size}",
520
+ "fontFamily": "{fontStack.monospace}"
521
+ },
522
+ "$type": "typography",
523
+ "$description": "Inline code blocks using em units to inherit size from its parent."
524
+ }
525
+ }
526
+ }
527
+ }