@primer/primitives 9.0.0-rc.fa8264ac → 9.0.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 (81) hide show
  1. package/dist/css/functional/themes/dark-colorblind.css +12 -8
  2. package/dist/css/functional/themes/dark-dimmed.css +10 -6
  3. package/dist/css/functional/themes/dark-high-contrast.css +54 -50
  4. package/dist/css/functional/themes/dark-tritanopia.css +12 -8
  5. package/dist/css/functional/themes/dark.css +10 -6
  6. package/dist/css/functional/themes/light-colorblind.css +16 -12
  7. package/dist/css/functional/themes/light-high-contrast.css +22 -18
  8. package/dist/css/functional/themes/light-tritanopia.css +16 -12
  9. package/dist/css/functional/themes/light.css +14 -10
  10. package/dist/docs/functional/themes/dark-colorblind.json +153 -97
  11. package/dist/docs/functional/themes/dark-dimmed.json +155 -99
  12. package/dist/docs/functional/themes/dark-high-contrast.json +243 -161
  13. package/dist/docs/functional/themes/dark-tritanopia.json +153 -97
  14. package/dist/docs/functional/themes/dark.json +152 -96
  15. package/dist/docs/functional/themes/light-colorblind.json +159 -101
  16. package/dist/docs/functional/themes/light-high-contrast.json +177 -117
  17. package/dist/docs/functional/themes/light-tritanopia.json +159 -101
  18. package/dist/docs/functional/themes/light.json +158 -100
  19. package/dist/figma/figma.json +3 -3
  20. package/dist/figma/scales/dark-dimmed.json +56 -24
  21. package/dist/figma/scales/dark-high-constrast.json +56 -24
  22. package/dist/figma/scales/dark.json +56 -24
  23. package/dist/figma/scales/light-high-constrast.json +59 -27
  24. package/dist/figma/scales/light.json +59 -27
  25. package/dist/figma/shadows/dark-colorblind.json +167 -167
  26. package/dist/figma/shadows/dark-dimmed.json +167 -167
  27. package/dist/figma/shadows/dark-high-contrast.json +167 -167
  28. package/dist/figma/shadows/dark-tritanopia.json +167 -167
  29. package/dist/figma/shadows/dark.json +167 -167
  30. package/dist/figma/shadows/light-colorblind.json +84 -84
  31. package/dist/figma/shadows/light-high-contrast.json +84 -84
  32. package/dist/figma/shadows/light-tritanopia.json +84 -84
  33. package/dist/figma/shadows/light.json +84 -84
  34. package/dist/figma/themes/dark-colorblind.json +1023 -992
  35. package/dist/figma/themes/dark-dimmed.json +1943 -1912
  36. package/dist/figma/themes/dark-high-contrast.json +2865 -2830
  37. package/dist/figma/themes/dark-tritanopia.json +1022 -991
  38. package/dist/figma/themes/dark.json +1019 -988
  39. package/dist/figma/themes/light-colorblind.json +1419 -1387
  40. package/dist/figma/themes/light-high-contrast.json +1254 -1221
  41. package/dist/figma/themes/light-tritanopia.json +1419 -1387
  42. package/dist/figma/themes/light.json +1357 -1325
  43. package/dist/internalCss/dark-colorblind.css +40 -32
  44. package/dist/internalCss/dark-dimmed.css +38 -30
  45. package/dist/internalCss/dark-high-contrast.css +82 -74
  46. package/dist/internalCss/dark-tritanopia.css +40 -32
  47. package/dist/internalCss/dark.css +38 -30
  48. package/dist/internalCss/light-colorblind.css +46 -38
  49. package/dist/internalCss/light-high-contrast.css +52 -44
  50. package/dist/internalCss/light-tritanopia.css +46 -38
  51. package/dist/internalCss/light.css +44 -36
  52. package/dist/styleLint/functional/themes/dark-colorblind.json +153 -97
  53. package/dist/styleLint/functional/themes/dark-dimmed.json +155 -99
  54. package/dist/styleLint/functional/themes/dark-high-contrast.json +243 -161
  55. package/dist/styleLint/functional/themes/dark-tritanopia.json +153 -97
  56. package/dist/styleLint/functional/themes/dark.json +152 -96
  57. package/dist/styleLint/functional/themes/light-colorblind.json +159 -101
  58. package/dist/styleLint/functional/themes/light-high-contrast.json +177 -117
  59. package/dist/styleLint/functional/themes/light-tritanopia.json +159 -101
  60. package/dist/styleLint/functional/themes/light.json +158 -100
  61. package/package.json +1 -1
  62. package/src/schemas/colorToken.ts +1 -1
  63. package/src/schemas/dimensionToken.ts +1 -0
  64. package/src/schemas/scopes.ts +10 -21
  65. package/src/tokens/base/color/dark/dark.dimmed.json5 +0 -20
  66. package/src/tokens/base/color/dark/dark.json5 +29 -11
  67. package/src/tokens/base/color/light/light.json5 +29 -11
  68. package/src/tokens/functional/color/dark/app-dark.json5 +5 -5
  69. package/src/tokens/functional/color/dark/overrides/dark.dimmed.json5 +24 -24
  70. package/src/tokens/functional/color/dark/overrides/dark.high-contrast.json5 +82 -83
  71. package/src/tokens/functional/color/dark/patterns-dark.json5 +62 -37
  72. package/src/tokens/functional/color/dark/primitives-dark.json5 +23 -23
  73. package/src/tokens/functional/color/dark/syntax-dark.json5 +14 -14
  74. package/src/tokens/functional/color/light/app-light.json5 +5 -5
  75. package/src/tokens/functional/color/light/overrides/light.high-contrast.json5 +73 -25
  76. package/src/tokens/functional/color/light/patterns-light.json5 +65 -39
  77. package/src/tokens/functional/color/light/primitives-light.json5 +23 -23
  78. package/src/tokens/functional/color/light/syntax-light.json5 +14 -14
  79. package/src/tokens/functional/shadow/dark.json5 +15 -15
  80. package/src/tokens/functional/shadow/light.json5 +16 -16
  81. package/src/transformers/figmaAttributes.ts +6 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer/primitives",
3
- "version": "9.0.0-rc.fa8264ac",
3
+ "version": "9.0.0",
4
4
  "description": "Typography, spacing, and color primitives for Primer design system",
5
5
  "engines": {
6
6
  "node": ">=18.18.0 <18.19.0"
@@ -42,7 +42,7 @@ export const colorToken = baseToken
42
42
  'light tritanopia',
43
43
  'dark tritanopia',
44
44
  ]).optional(),
45
- scopes: scopes(['all', 'bgColor', 'fgColor', 'borderColor']).optional(),
45
+ scopes: scopes(['all', 'bgColor', 'fgColor', 'borderColor', 'effectColor']).optional(),
46
46
  }),
47
47
  })
48
48
  .optional(),
@@ -20,6 +20,7 @@ export const dimensionToken = baseToken
20
20
  'gap',
21
21
  'radius',
22
22
  'borderColor',
23
+ 'effectFloat',
23
24
  'fontSize',
24
25
  'letterSpacing',
25
26
  'lineHeight',
@@ -2,33 +2,17 @@ import {z} from 'zod'
2
2
  import {joinFriendly} from '../utilities/joinFriendly'
3
3
  import {schemaErrorMessage} from '../utilities/schemaErrorMessage'
4
4
 
5
- export type ValidScope =
6
- | 'all'
7
- | 'bgColor'
8
- | 'fgColor'
9
- | 'borderColor'
10
- | 'size'
11
- | 'gap'
12
- | 'radius'
13
- | 'effectColor'
14
- | 'opacity'
15
- | 'fontFamily'
16
- | 'fontStyle'
17
- | 'fontWeight'
18
- | 'fontSize'
19
- | 'lineHeight'
20
- | 'letterSpacing'
21
- | 'paragraphSpacing'
22
- | 'paragraphIndent'
23
- const validScopes: ValidScope[] = [
5
+ const validScopes = [
24
6
  'all',
25
7
  'bgColor',
26
8
  'fgColor',
27
9
  'borderColor',
10
+ 'borderWidth',
28
11
  'size',
29
12
  'gap',
30
13
  'radius',
31
14
  'effectColor',
15
+ 'effectFloat',
32
16
  'opacity',
33
17
  'fontFamily',
34
18
  'fontStyle',
@@ -38,14 +22,19 @@ const validScopes: ValidScope[] = [
38
22
  'letterSpacing',
39
23
  'paragraphSpacing',
40
24
  'paragraphIndent',
41
- ]
25
+ ] as const
26
+
27
+ export type ValidScope = (typeof validScopes)[number]
42
28
 
43
29
  export const scopes = (scopeSubset?: ValidScope[]) => {
44
30
  const scopeArray = scopeSubset ?? validScopes
45
31
  return z.array(z.string()).refine(
46
32
  value => value.every(item => scopeArray.includes(item as ValidScope)),
47
33
  value => ({
48
- message: schemaErrorMessage(`Invalid scope: "${value}"`, `Valid scopes are: ${joinFriendly(scopeArray)}`),
34
+ message: schemaErrorMessage(
35
+ `Invalid scope: "${value}"`,
36
+ `Valid scopes are: ${joinFriendly(scopeArray as string[])}`,
37
+ ),
49
38
  }),
50
39
  )
51
40
  }
@@ -13,16 +13,6 @@
13
13
  collection: 'base/color/dark-dimmed',
14
14
  },
15
15
  },
16
- $extensions: {
17
- 'org.primer.figma': {
18
- collection: 'base/color/dark-dimmed',
19
- },
20
- },
21
- $extensions: {
22
- 'org.primer.figma': {
23
- collection: 'base/color/dark-dimmed',
24
- },
25
- },
26
16
  },
27
17
  white: {
28
18
  $value: '#cdd9e5',
@@ -32,16 +22,6 @@
32
22
  collection: 'base/color/dark-dimmed',
33
23
  },
34
24
  },
35
- $extensions: {
36
- 'org.primer.figma': {
37
- collection: 'base/color/dark-dimmed',
38
- },
39
- },
40
- $extensions: {
41
- 'org.primer.figma': {
42
- collection: 'base/color/dark-dimmed',
43
- },
44
- },
45
25
  },
46
26
  blue: {
47
27
  '0': {
@@ -44,7 +44,7 @@
44
44
  },
45
45
  neutral: {
46
46
  '0': {
47
- $value: '#0D1117',
47
+ $value: '{base.color.black}',
48
48
  $type: 'color',
49
49
  $extensions: {
50
50
  'org.primer.figma': {
@@ -53,7 +53,7 @@
53
53
  },
54
54
  },
55
55
  '1': {
56
- $value: '#151B23',
56
+ $value: '#0D1117',
57
57
  $type: 'color',
58
58
  $extensions: {
59
59
  'org.primer.figma': {
@@ -62,7 +62,7 @@
62
62
  },
63
63
  },
64
64
  '2': {
65
- $value: '#212830',
65
+ $value: '#151B23',
66
66
  $type: 'color',
67
67
  $extensions: {
68
68
  'org.primer.figma': {
@@ -71,7 +71,7 @@
71
71
  },
72
72
  },
73
73
  '3': {
74
- $value: '#262C36',
74
+ $value: '#212830',
75
75
  $type: 'color',
76
76
  $extensions: {
77
77
  'org.primer.figma': {
@@ -80,7 +80,7 @@
80
80
  },
81
81
  },
82
82
  '4': {
83
- $value: '#2A313C',
83
+ $value: '#262C36',
84
84
  $type: 'color',
85
85
  $extensions: {
86
86
  'org.primer.figma': {
@@ -89,7 +89,7 @@
89
89
  },
90
90
  },
91
91
  '5': {
92
- $value: '#2F3742',
92
+ $value: '#2A313C',
93
93
  $type: 'color',
94
94
  $extensions: {
95
95
  'org.primer.figma': {
@@ -98,7 +98,7 @@
98
98
  },
99
99
  },
100
100
  '6': {
101
- $value: '#3D444D',
101
+ $value: '#2F3742',
102
102
  $type: 'color',
103
103
  $extensions: {
104
104
  'org.primer.figma': {
@@ -107,7 +107,7 @@
107
107
  },
108
108
  },
109
109
  '7': {
110
- $value: '#656C76',
110
+ $value: '#3D444D',
111
111
  $type: 'color',
112
112
  $extensions: {
113
113
  'org.primer.figma': {
@@ -116,7 +116,7 @@
116
116
  },
117
117
  },
118
118
  '8': {
119
- $value: '#9198A1',
119
+ $value: '#656C76',
120
120
  $type: 'color',
121
121
  $extensions: {
122
122
  'org.primer.figma': {
@@ -125,7 +125,7 @@
125
125
  },
126
126
  },
127
127
  '9': {
128
- $value: '#B7BDC8',
128
+ $value: '#9198A1',
129
129
  $type: 'color',
130
130
  $extensions: {
131
131
  'org.primer.figma': {
@@ -134,7 +134,7 @@
134
134
  },
135
135
  },
136
136
  '10': {
137
- $value: '#D1D7E0',
137
+ $value: '#B7BDC8',
138
138
  $type: 'color',
139
139
  $extensions: {
140
140
  'org.primer.figma': {
@@ -143,6 +143,15 @@
143
143
  },
144
144
  },
145
145
  '11': {
146
+ $value: '#D1D7E0',
147
+ $type: 'color',
148
+ $extensions: {
149
+ 'org.primer.figma': {
150
+ collection: 'base/color/dark',
151
+ },
152
+ },
153
+ },
154
+ '12': {
146
155
  $value: '#F0F6FC',
147
156
  $type: 'color',
148
157
  $extensions: {
@@ -151,6 +160,15 @@
151
160
  },
152
161
  },
153
162
  },
163
+ '13': {
164
+ $value: '{base.color.white}',
165
+ $type: 'color',
166
+ $extensions: {
167
+ 'org.primer.figma': {
168
+ collection: 'base/color/dark',
169
+ },
170
+ },
171
+ },
154
172
  },
155
173
  blue: {
156
174
  '0': {
@@ -44,7 +44,7 @@
44
44
  },
45
45
  neutral: {
46
46
  '0': {
47
- $value: '#F6F8FA',
47
+ $value: '{base.color.white}',
48
48
  $type: 'color',
49
49
  $extensions: {
50
50
  'org.primer.figma': {
@@ -53,7 +53,7 @@
53
53
  },
54
54
  },
55
55
  '1': {
56
- $value: '#EFF2F5',
56
+ $value: '#F6F8FA',
57
57
  $type: 'color',
58
58
  $extensions: {
59
59
  'org.primer.figma': {
@@ -62,7 +62,7 @@
62
62
  },
63
63
  },
64
64
  '2': {
65
- $value: '#E6EAEF',
65
+ $value: '#EFF2F5',
66
66
  $type: 'color',
67
67
  $extensions: {
68
68
  'org.primer.figma': {
@@ -71,7 +71,7 @@
71
71
  },
72
72
  },
73
73
  '3': {
74
- $value: '#E0E6EB',
74
+ $value: '#E6EAEF',
75
75
  $type: 'color',
76
76
  $extensions: {
77
77
  'org.primer.figma': {
@@ -80,7 +80,7 @@
80
80
  },
81
81
  },
82
82
  '4': {
83
- $value: '#DAE0E7',
83
+ $value: '#E0E6EB',
84
84
  $type: 'color',
85
85
  $extensions: {
86
86
  'org.primer.figma': {
@@ -89,7 +89,7 @@
89
89
  },
90
90
  },
91
91
  '5': {
92
- $value: '#D1D9E0',
92
+ $value: '#DAE0E7',
93
93
  $type: 'color',
94
94
  $extensions: {
95
95
  'org.primer.figma': {
@@ -98,7 +98,7 @@
98
98
  },
99
99
  },
100
100
  '6': {
101
- $value: '#C8D1DA',
101
+ $value: '#D1D9E0',
102
102
  $type: 'color',
103
103
  $extensions: {
104
104
  'org.primer.figma': {
@@ -107,7 +107,7 @@
107
107
  },
108
108
  },
109
109
  '7': {
110
- $value: '#818B98',
110
+ $value: '#C8D1DA',
111
111
  $type: 'color',
112
112
  $extensions: {
113
113
  'org.primer.figma': {
@@ -116,7 +116,7 @@
116
116
  },
117
117
  },
118
118
  '8': {
119
- $value: '#59636E',
119
+ $value: '#818B98',
120
120
  $type: 'color',
121
121
  $extensions: {
122
122
  'org.primer.figma': {
@@ -125,7 +125,7 @@
125
125
  },
126
126
  },
127
127
  '9': {
128
- $value: '#454C54',
128
+ $value: '#59636E',
129
129
  $type: 'color',
130
130
  $extensions: {
131
131
  'org.primer.figma': {
@@ -134,7 +134,7 @@
134
134
  },
135
135
  },
136
136
  '10': {
137
- $value: '#393F46',
137
+ $value: '#454C54',
138
138
  $type: 'color',
139
139
  $extensions: {
140
140
  'org.primer.figma': {
@@ -143,6 +143,15 @@
143
143
  },
144
144
  },
145
145
  '11': {
146
+ $value: '#393F46',
147
+ $type: 'color',
148
+ $extensions: {
149
+ 'org.primer.figma': {
150
+ collection: 'base/color/light',
151
+ },
152
+ },
153
+ },
154
+ '12': {
146
155
  $value: '#25292E',
147
156
  $type: 'color',
148
157
  $extensions: {
@@ -151,6 +160,15 @@
151
160
  },
152
161
  },
153
162
  },
163
+ '13': {
164
+ $value: '{base.color.black}',
165
+ $type: 'color',
166
+ $extensions: {
167
+ 'org.primer.figma': {
168
+ collection: 'base/color/light',
169
+ },
170
+ },
171
+ },
154
172
  },
155
173
  blue: {
156
174
  '0': {
@@ -372,7 +372,7 @@
372
372
  syntax: {
373
373
  fgColor: {
374
374
  comment: {
375
- $value: '{base.color.neutral.7}',
375
+ $value: '{base.color.neutral.8}',
376
376
  $type: 'color',
377
377
  $extensions: {
378
378
  'org.primer.figma': {
@@ -499,7 +499,7 @@
499
499
  },
500
500
  },
501
501
  bgColor: {
502
- $value: '{base.color.neutral.9}',
502
+ $value: '{base.color.neutral.10}',
503
503
  $type: 'color',
504
504
  $extensions: {
505
505
  'org.primer.figma': {
@@ -512,7 +512,7 @@
512
512
  },
513
513
  borderColor: {
514
514
  divider: {
515
- $value: '{base.color.neutral.3}',
515
+ $value: '{base.color.neutral.4}',
516
516
  $type: 'color',
517
517
  $extensions: {
518
518
  'org.primer.figma': {
@@ -527,7 +527,7 @@
527
527
  },
528
528
  headerSearch: {
529
529
  bgColor: {
530
- $value: '{base.color.neutral.9}',
530
+ $value: '{base.color.neutral.10}',
531
531
  $type: 'color',
532
532
  $extensions: {
533
533
  'org.primer.figma': {
@@ -539,7 +539,7 @@
539
539
  },
540
540
  },
541
541
  borderColor: {
542
- $value: '{base.color.neutral.6}',
542
+ $value: '{base.color.neutral.7}',
543
543
  $type: 'color',
544
544
  $extensions: {
545
545
  'org.primer.figma': {
@@ -6,39 +6,39 @@
6
6
  {
7
7
  bgColor: {
8
8
  default: {
9
- $value: '{base.color.neutral.2}',
9
+ $value: '{base.color.neutral.3}',
10
10
  $type: 'color',
11
11
  },
12
12
  muted: {
13
- $value: '{base.color.neutral.3}',
13
+ $value: '{base.color.neutral.4}',
14
14
  $type: 'color',
15
15
  },
16
16
  inset: {
17
- $value: '{base.color.neutral.1}',
17
+ $value: '{base.color.neutral.2}',
18
18
  $type: 'color',
19
19
  },
20
20
  disabled: {
21
- $value: '{base.color.neutral.4}',
21
+ $value: '{base.color.neutral.5}',
22
22
  $type: 'color',
23
23
  },
24
24
  neutral: {
25
25
  emphasis: {
26
- $value: '{base.color.neutral.7}',
26
+ $value: '{base.color.neutral.8}',
27
27
  $type: 'color',
28
28
  },
29
29
  },
30
30
  },
31
31
  fgColor: {
32
32
  default: {
33
- $value: '{base.color.neutral.10}',
33
+ $value: '{base.color.neutral.11}',
34
34
  $type: 'color',
35
35
  },
36
36
  onEmphasis: {
37
- $value: '{base.color.neutral.11}',
37
+ $value: '{base.color.neutral.12}',
38
38
  $type: 'color',
39
39
  },
40
40
  disabled: {
41
- $value: '{base.color.neutral.7}',
41
+ $value: '{base.color.neutral.8}',
42
42
  $type: 'color',
43
43
  alpha: 1,
44
44
  },
@@ -46,15 +46,15 @@
46
46
  control: {
47
47
  bgColor: {
48
48
  rest: {
49
- $value: '{base.color.neutral.4}',
49
+ $value: '{base.color.neutral.5}',
50
50
  $type: 'color',
51
51
  },
52
52
  hover: {
53
- $value: '{base.color.neutral.5}',
53
+ $value: '{base.color.neutral.6}',
54
54
  $type: 'color',
55
55
  },
56
56
  active: {
57
- $value: '{base.color.neutral.6}',
57
+ $value: '{base.color.neutral.7}',
58
58
  $type: 'color',
59
59
  },
60
60
  },
@@ -67,17 +67,17 @@
67
67
  transparent: {
68
68
  bgColor: {
69
69
  hover: {
70
- $value: '{base.color.neutral.7}',
70
+ $value: '{base.color.neutral.8}',
71
71
  $type: 'color',
72
72
  alpha: 0.15,
73
73
  },
74
74
  active: {
75
- $value: '{base.color.neutral.7}',
75
+ $value: '{base.color.neutral.8}',
76
76
  $type: 'color',
77
77
  alpha: 0.2,
78
78
  },
79
79
  selected: {
80
- $value: '{base.color.neutral.7}',
80
+ $value: '{base.color.neutral.8}',
81
81
  $type: 'color',
82
82
  alpha: 0.1,
83
83
  },
@@ -87,15 +87,15 @@
87
87
  controlTrack: {
88
88
  bgColor: {
89
89
  rest: {
90
- $value: '{base.color.neutral.4}',
90
+ $value: '{base.color.neutral.5}',
91
91
  $type: 'color',
92
92
  },
93
93
  hover: {
94
- $value: '{base.color.neutral.5}',
94
+ $value: '{base.color.neutral.6}',
95
95
  $type: 'color',
96
96
  },
97
97
  active: {
98
- $value: '{base.color.neutral.6}',
98
+ $value: '{base.color.neutral.7}',
99
99
  $type: 'color',
100
100
  },
101
101
  },
@@ -127,13 +127,13 @@
127
127
  overlay: {
128
128
  backdrop: {
129
129
  bgColor: {
130
- $value: '{base.color.neutral.3}',
130
+ $value: '{base.color.neutral.4}',
131
131
  $type: 'color',
132
132
  alpha: 0.4,
133
133
  },
134
134
  },
135
135
  bgColor: {
136
- $value: '{base.color.neutral.4}',
136
+ $value: '{base.color.neutral.5}',
137
137
  $type: 'color',
138
138
  },
139
139
  },
@@ -165,29 +165,29 @@
165
165
  invisible: {
166
166
  iconColor: {
167
167
  rest: {
168
- $value: '{base.color.neutral.9}',
168
+ $value: '{base.color.neutral.10}',
169
169
  $type: 'color',
170
170
  },
171
171
  hover: {
172
- $value: '{base.color.neutral.9}',
172
+ $value: '{base.color.neutral.10}',
173
173
  $type: 'color',
174
174
  },
175
175
  },
176
176
  },
177
177
  inactive: {
178
178
  bgColor: {
179
- $value: '{base.color.neutral.4}',
179
+ $value: '{base.color.neutral.5}',
180
180
  $type: 'color',
181
181
  },
182
182
  fgColor: {
183
- $value: '{base.color.neutral.7}',
183
+ $value: '{base.color.neutral.8}',
184
184
  $type: 'color',
185
185
  },
186
186
  },
187
187
  },
188
188
  timelineBadge: {
189
189
  bgColor: {
190
- $value: '{base.color.neutral.3}',
190
+ $value: '{base.color.neutral.4}',
191
191
  $type: 'color',
192
192
  },
193
193
  },