@graphprotocol/gds-css 0.0.1

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 (136) hide show
  1. package/README.md +80 -0
  2. package/dist/component-registry.d.ts +90 -0
  3. package/dist/component-registry.d.ts.map +1 -0
  4. package/dist/component-registry.js +93 -0
  5. package/dist/component-registry.js.map +1 -0
  6. package/dist/css-props/getCSSPropRawValue.d.ts +4 -0
  7. package/dist/css-props/getCSSPropRawValue.d.ts.map +1 -0
  8. package/dist/css-props/getCSSPropRawValue.js +41 -0
  9. package/dist/css-props/getCSSPropRawValue.js.map +1 -0
  10. package/dist/css-props/index.d.ts +5 -0
  11. package/dist/css-props/index.d.ts.map +1 -0
  12. package/dist/css-props/index.js +5 -0
  13. package/dist/css-props/index.js.map +1 -0
  14. package/dist/css-props/parseCSSPropValue.d.ts +7 -0
  15. package/dist/css-props/parseCSSPropValue.d.ts.map +1 -0
  16. package/dist/css-props/parseCSSPropValue.js +70 -0
  17. package/dist/css-props/parseCSSPropValue.js.map +1 -0
  18. package/dist/css-props/registerCSSProps.d.ts +7 -0
  19. package/dist/css-props/registerCSSProps.d.ts.map +1 -0
  20. package/dist/css-props/registerCSSProps.js +231 -0
  21. package/dist/css-props/registerCSSProps.js.map +1 -0
  22. package/dist/css-props/types.d.ts +29 -0
  23. package/dist/css-props/types.d.ts.map +1 -0
  24. package/dist/css-props/types.js +2 -0
  25. package/dist/css-props/types.js.map +1 -0
  26. package/dist/css-states/index.d.ts +3 -0
  27. package/dist/css-states/index.d.ts.map +1 -0
  28. package/dist/css-states/index.js +3 -0
  29. package/dist/css-states/index.js.map +1 -0
  30. package/dist/css-states/registerCSSStates.d.ts +23 -0
  31. package/dist/css-states/registerCSSStates.d.ts.map +1 -0
  32. package/dist/css-states/registerCSSStates.js +119 -0
  33. package/dist/css-states/registerCSSStates.js.map +1 -0
  34. package/dist/css-states/states.d.ts +71 -0
  35. package/dist/css-states/states.d.ts.map +1 -0
  36. package/dist/css-states/states.js +140 -0
  37. package/dist/css-states/states.js.map +1 -0
  38. package/dist/design-tokens.generated.d.ts +1167 -0
  39. package/dist/design-tokens.generated.d.ts.map +1 -0
  40. package/dist/design-tokens.generated.js +2675 -0
  41. package/dist/design-tokens.generated.js.map +1 -0
  42. package/dist/index.d.ts +7 -0
  43. package/dist/index.d.ts.map +1 -0
  44. package/dist/index.js +7 -0
  45. package/dist/index.js.map +1 -0
  46. package/dist/tailwind-customizations/index.d.ts +3 -0
  47. package/dist/tailwind-customizations/index.d.ts.map +1 -0
  48. package/dist/tailwind-customizations/index.js +3 -0
  49. package/dist/tailwind-customizations/index.js.map +1 -0
  50. package/dist/tailwind-customizations/registerUtilities.d.ts +9 -0
  51. package/dist/tailwind-customizations/registerUtilities.d.ts.map +1 -0
  52. package/dist/tailwind-customizations/registerUtilities.js +59 -0
  53. package/dist/tailwind-customizations/registerUtilities.js.map +1 -0
  54. package/dist/tailwind-customizations/registerVariants.d.ts +8 -0
  55. package/dist/tailwind-customizations/registerVariants.d.ts.map +1 -0
  56. package/dist/tailwind-customizations/registerVariants.js +197 -0
  57. package/dist/tailwind-customizations/registerVariants.js.map +1 -0
  58. package/dist/tailwind-customizations/variants.d.ts +72 -0
  59. package/dist/tailwind-customizations/variants.d.ts.map +1 -0
  60. package/dist/tailwind-customizations/variants.js +153 -0
  61. package/dist/tailwind-customizations/variants.js.map +1 -0
  62. package/dist/tailwind-plugin.d.ts +4 -0
  63. package/dist/tailwind-plugin.d.ts.map +1 -0
  64. package/dist/tailwind-plugin.js +12 -0
  65. package/dist/tailwind-plugin.js.map +1 -0
  66. package/dist/types.d.ts +4 -0
  67. package/dist/types.d.ts.map +1 -0
  68. package/dist/types.js +2 -0
  69. package/dist/types.js.map +1 -0
  70. package/dist/utils/cssUnescape.d.ts +20 -0
  71. package/dist/utils/cssUnescape.d.ts.map +1 -0
  72. package/dist/utils/cssUnescape.js +44 -0
  73. package/dist/utils/cssUnescape.js.map +1 -0
  74. package/dist/utils/index.d.ts +6 -0
  75. package/dist/utils/index.d.ts.map +1 -0
  76. package/dist/utils/index.js +6 -0
  77. package/dist/utils/index.js.map +1 -0
  78. package/dist/utils/pxToTw.d.ts +3 -0
  79. package/dist/utils/pxToTw.d.ts.map +1 -0
  80. package/dist/utils/pxToTw.js +5 -0
  81. package/dist/utils/pxToTw.js.map +1 -0
  82. package/dist/utils/twToPx.d.ts +3 -0
  83. package/dist/utils/twToPx.d.ts.map +1 -0
  84. package/dist/utils/twToPx.js +5 -0
  85. package/dist/utils/twToPx.js.map +1 -0
  86. package/dist/utils/twToRem.d.ts +3 -0
  87. package/dist/utils/twToRem.d.ts.map +1 -0
  88. package/dist/utils/twToRem.js +5 -0
  89. package/dist/utils/twToRem.js.map +1 -0
  90. package/dist/utils/wrapSelector.d.ts +10 -0
  91. package/dist/utils/wrapSelector.d.ts.map +1 -0
  92. package/dist/utils/wrapSelector.js +57 -0
  93. package/dist/utils/wrapSelector.js.map +1 -0
  94. package/package.json +65 -0
  95. package/src/component-registry.ts +213 -0
  96. package/src/css-props/getCSSPropRawValue.ts +52 -0
  97. package/src/css-props/index.ts +4 -0
  98. package/src/css-props/parseCSSPropValue.ts +81 -0
  99. package/src/css-props/registerCSSProps.ts +274 -0
  100. package/src/css-props/types.ts +35 -0
  101. package/src/css-states/index.ts +2 -0
  102. package/src/css-states/registerCSSStates.ts +136 -0
  103. package/src/css-states/states.ts +160 -0
  104. package/src/design-tokens.generated.ts +2799 -0
  105. package/src/index.ts +6 -0
  106. package/src/tailwind-customizations/index.ts +2 -0
  107. package/src/tailwind-customizations/registerUtilities.ts +65 -0
  108. package/src/tailwind-customizations/registerVariants.ts +296 -0
  109. package/src/tailwind-customizations/variants.ts +190 -0
  110. package/src/tailwind-plugin.ts +14 -0
  111. package/src/types.ts +4 -0
  112. package/src/utils/cssUnescape.ts +49 -0
  113. package/src/utils/index.ts +5 -0
  114. package/src/utils/pxToTw.ts +4 -0
  115. package/src/utils/twToPx.ts +4 -0
  116. package/src/utils/twToRem.ts +4 -0
  117. package/src/utils/wrapSelector.ts +60 -0
  118. package/styles/fonts/EuclidCircularA-Bold.woff2 +0 -0
  119. package/styles/fonts/EuclidCircularA-BoldItalic.woff2 +0 -0
  120. package/styles/fonts/EuclidCircularA-Light.woff2 +0 -0
  121. package/styles/fonts/EuclidCircularA-LightItalic.woff2 +0 -0
  122. package/styles/fonts/EuclidCircularA-Medium.woff2 +0 -0
  123. package/styles/fonts/EuclidCircularA-MediumItalic.woff2 +0 -0
  124. package/styles/fonts/EuclidCircularA-Regular.woff2 +0 -0
  125. package/styles/fonts/EuclidCircularA-RegularItalic.woff2 +0 -0
  126. package/styles/fonts/EuclidCircularA-Semibold.woff2 +0 -0
  127. package/styles/fonts/EuclidCircularA-SemiboldItalic.woff2 +0 -0
  128. package/styles/fonts.css +83 -0
  129. package/styles/global.css +203 -0
  130. package/styles/layers.css +8 -0
  131. package/styles/tailwind.css +13 -0
  132. package/styles/tailwind.vscode.css +11 -0
  133. package/styles/theme.css +420 -0
  134. package/styles/typography.css +198 -0
  135. package/styles/utilities.css +305 -0
  136. package/styles/variants.css +34 -0
@@ -0,0 +1,420 @@
1
+ @theme static {
2
+ /* ================================================================= *
3
+ * Colors (complete override - no Tailwind defaults) *
4
+ * ================================================================= */
5
+
6
+ --color-*: initial;
7
+
8
+ /* --------------------------------------- *
9
+ * Primitive color tokens *
10
+ * --------------------------------------- */
11
+
12
+ /* Core colors */
13
+ --color-black: black;
14
+ --color-white: white;
15
+ --color-transparent: transparent;
16
+ --color-current: currentcolor;
17
+
18
+ /* Space (dark gray) scale */
19
+ --color-space-100: #f3f3f4;
20
+ --color-space-200: #dbdbdb;
21
+ --color-space-300: #c5c4c6;
22
+ --color-space-400: #b6b5b9;
23
+ --color-space-500: #a7a5ae;
24
+ --color-space-600: #918f9d;
25
+ --color-space-700: #848192;
26
+ --color-space-800: #757285;
27
+ --color-space-900: #666378;
28
+ --color-space-1000: #59556c;
29
+ --color-space-1100: #49465d;
30
+ --color-space-1200: #3a374d;
31
+ --color-space-1300: #2d2a3f;
32
+ --color-space-1400: #242236;
33
+ --color-space-1500: #1d1a30;
34
+ --color-space-1600: #16132a;
35
+ --color-space-1700: #0c0a1d;
36
+ --color-space-1800: #080618;
37
+
38
+ /* Foam (light gray) scale */
39
+ --color-foam-100: #fafafa;
40
+ --color-foam-200: #f3f3f4;
41
+ --color-foam-300: #ececec;
42
+ --color-foam-400: #e3e3e3;
43
+ --color-foam-500: #cacace;
44
+ --color-foam-600: #bfbfc5;
45
+ --color-foam-700: #c0c0c4;
46
+ --color-foam-800: #afafb6;
47
+ --color-foam-900: #9d9da4;
48
+ --color-foam-1000: #7d7d87;
49
+
50
+ /* Brand (purple) scale */
51
+ --color-brand-100: #e2dbff;
52
+ --color-brand-200: #c5b7ff;
53
+ --color-brand-300: #a994ff;
54
+ --color-brand-400: #8c70ff;
55
+ --color-brand-500: #6f4cff;
56
+ --color-brand-600: #6545e8;
57
+ --color-brand-700: #5138ba;
58
+ --color-brand-800: #3d2b8c;
59
+ --color-brand-900: #332476;
60
+ --color-brand-1000: #281c5c;
61
+ --color-brand-1100: #19123a;
62
+ --color-brand-1200: #140f2f;
63
+
64
+ /* Galactic (blue) scale */
65
+ --color-galactic-100: #dbecff;
66
+ --color-galactic-200: #b7d8ff;
67
+ --color-galactic-300: #94c5ff;
68
+ --color-galactic-400: #70b1ff;
69
+ --color-galactic-500: #4c9eff;
70
+ --color-galactic-600: #3f80d1;
71
+ --color-galactic-700: #3262a3;
72
+ --color-galactic-800: #254576;
73
+ --color-galactic-900: #182748;
74
+ --color-galactic-1000: #0f192e;
75
+ --color-galactic-1100: #0d1526;
76
+
77
+ /* Starfield (green) scale */
78
+ --color-starfield-100: #dbf4e6;
79
+ --color-starfield-200: #b7eacd;
80
+ --color-starfield-300: #93dfb3;
81
+ --color-starfield-400: #6fd59a;
82
+ --color-starfield-500: #4bca81;
83
+ --color-starfield-600: #3ea36c;
84
+ --color-starfield-700: #317d58;
85
+ --color-starfield-800: #255643;
86
+ --color-starfield-900: #18302f;
87
+ --color-starfield-1000: #112221;
88
+ --color-starfield-1100: #0e1b1b;
89
+
90
+ /* Solar (yellow) scale */
91
+ --color-solar-100: #ffeecc;
92
+ --color-solar-200: #ffdc99;
93
+ --color-solar-300: #ffcb67;
94
+ --color-solar-400: #ffb934;
95
+ --color-solar-500: #ffa801;
96
+ --color-solar-600: #ce8806;
97
+ --color-solar-700: #9d680b;
98
+ --color-solar-800: #6d4910;
99
+ --color-solar-900: #3c2915;
100
+ --color-solar-1000: #271b1b;
101
+ --color-solar-1100: #1d161a;
102
+
103
+ /* Sonja (red/pink) scale */
104
+ --color-sonja-100: #fbdbe2;
105
+ --color-sonja-200: #f8b7c5;
106
+ --color-sonja-300: #f492a7;
107
+ --color-sonja-400: #f16e8a;
108
+ --color-sonja-500: #ed4a6d;
109
+ --color-sonja-600: #c03d5c;
110
+ --color-sonja-700: #93304c;
111
+ --color-sonja-800: #65233b;
112
+ --color-sonja-900: #38162b;
113
+ --color-sonja-1000: #250e25;
114
+ --color-sonja-1100: #180b1d;
115
+
116
+ /* --------------------------------------- *
117
+ * Semantic color tokens *
118
+ * --------------------------------------- */
119
+
120
+ /* Foreground colors */
121
+ --text-color-default: light-dark(var(--color-space-1800), var(--color-white));
122
+ --text-color-subtle: light-dark(var(--color-space-600), var(--color-foam-1000));
123
+ --text-color-muted: light-dark(var(--color-space-1000), var(--color-foam-800));
124
+ --text-color-elevated: light-dark(var(--color-space-1400), var(--color-foam-600));
125
+ --text-color-strong: light-dark(var(--color-space-1600), var(--color-foam-200));
126
+ --text-color-inverse-default: light-dark(var(--color-white), var(--color-space-1800));
127
+ --text-color-inverse-subtle: light-dark(var(--color-foam-1000), var(--color-space-600));
128
+ --text-color-inverse-muted: light-dark(var(--color-foam-800), var(--color-space-1000));
129
+ --text-color-inverse-elevated: light-dark(var(--color-foam-600), var(--color-space-1400));
130
+ --text-color-inverse-strong: light-dark(var(--color-foam-200), var(--color-space-1600));
131
+ /* TODO: Turn these into component tokens? */
132
+ --text-color-link-idle: light-dark(var(--color-galactic-700), var(--color-galactic-500));
133
+ --text-color-link-hover: light-dark(var(--color-galactic-800), var(--color-galactic-400));
134
+ --text-color-link-active: light-dark(var(--color-galactic-700), var(--color-galactic-500));
135
+ --text-color-link-disabled: light-dark(var(--color-foam-800), var(--color-space-800));
136
+ --text-color-code: light-dark(var(--color-solar-900), var(--color-solar-400));
137
+ --text-color-code-added: light-dark(var(--color-starfield-800), var(--color-starfield-300));
138
+ --text-color-code-deleted: light-dark(var(--color-sonja-800), var(--color-sonja-200));
139
+
140
+ /* Background colors */
141
+ --background-color-canvas: light-dark(var(--color-white), var(--color-space-1800));
142
+ --background-color-subtle: light-dark(var(--color-foam-100), var(--color-space-1700));
143
+ --background-color-muted: light-dark(var(--color-foam-200), var(--color-space-1600));
144
+ --background-color-default: light-dark(var(--color-foam-300), var(--color-space-1500));
145
+ --background-color-elevated: light-dark(var(--color-foam-400), var(--color-space-1400));
146
+ --background-color-strong: light-dark(var(--color-foam-500), var(--color-space-1300));
147
+
148
+ --background-color-brand-subtle: light-dark(var(--color-brand-300), var(--color-brand-800));
149
+ --background-color-brand-muted: light-dark(var(--color-brand-400), var(--color-brand-700));
150
+ --background-color-brand-default: var(--color-brand-500);
151
+ --background-color-brand-elevated: light-dark(var(--color-brand-700), var(--color-brand-400));
152
+ --background-color-brand-strong: light-dark(var(--color-brand-800), var(--color-brand-300));
153
+
154
+ --background-color-inverse-canvas: light-dark(var(--color-space-1800), var(--color-space-100));
155
+ --background-color-inverse-subtle: light-dark(var(--color-space-1700), var(--color-space-200));
156
+ --background-color-inverse-muted: light-dark(var(--color-space-1600), var(--color-space-300));
157
+ --background-color-inverse-default: light-dark(var(--color-space-1500), var(--color-space-400));
158
+ --background-color-inverse-elevated: light-dark(var(--color-space-1400), var(--color-space-500));
159
+ --background-color-inverse-strong: light-dark(var(--color-space-1300), var(--color-space-600));
160
+
161
+ --background-color-code: light-dark(var(--color-solar-100), var(--color-solar-1000));
162
+ --background-color-code-added: light-dark(var(--color-starfield-100), var(--color-starfield-1000));
163
+ --background-color-code-deleted: light-dark(var(--color-sonja-100), var(--color-sonja-1000));
164
+ --background-color-code-highlighted: color-mix(in oklab, var(--color-solar-500) 20%, transparent);
165
+
166
+ --background-color-backdrop: color-mix(in oklab, var(--color-space-1800) 50%, transparent);
167
+
168
+ /* Border colors */
169
+ --border-color-focus: var(--color-brand-500);
170
+ --border-color-subtle: light-dark(var(--color-foam-300), var(--color-space-1500));
171
+ --border-color-muted: light-dark(var(--color-foam-400), var(--color-space-1400));
172
+ --border-color-default: light-dark(var(--color-foam-500), var(--color-space-1300));
173
+ --border-color-elevated: light-dark(var(--color-foam-800), var(--color-space-1200));
174
+ --border-color-strong: light-dark(var(--color-foam-1000), var(--color-space-1100));
175
+
176
+ --border-color-brand-subtle: light-dark(var(--color-brand-300), var(--color-brand-800));
177
+ --border-color-brand-muted: light-dark(var(--color-brand-400), var(--color-brand-700));
178
+ --border-color-brand-default: var(--color-brand-500);
179
+ --border-color-brand-elevated: light-dark(var(--color-brand-700), var(--color-brand-400));
180
+ --border-color-brand-strong: light-dark(var(--color-brand-800), var(--color-brand-300));
181
+
182
+ --border-color-code: light-dark(var(--color-solar-200), var(--color-solar-900));
183
+
184
+ /* Status colors */
185
+ --color-status-info-subtle: light-dark(var(--color-galactic-300), var(--color-galactic-800));
186
+ --color-status-info-muted: light-dark(var(--color-galactic-400), var(--color-galactic-700));
187
+ --color-status-info-default: var(--color-galactic-500);
188
+ --color-status-info-elevated: light-dark(var(--color-galactic-700), var(--color-galactic-400));
189
+ --color-status-info-strong: light-dark(var(--color-galactic-800), var(--color-galactic-300));
190
+
191
+ --color-status-warning-subtle: light-dark(var(--color-solar-300), var(--color-solar-800));
192
+ --color-status-warning-muted: light-dark(var(--color-solar-400), var(--color-solar-700));
193
+ --color-status-warning-default: var(--color-solar-500);
194
+ --color-status-warning-elevated: light-dark(var(--color-solar-700), var(--color-solar-400));
195
+ --color-status-warning-strong: light-dark(var(--color-solar-800), var(--color-solar-300));
196
+
197
+ --color-status-error-subtle: light-dark(var(--color-sonja-300), var(--color-sonja-800));
198
+ --color-status-error-muted: light-dark(var(--color-sonja-400), var(--color-sonja-700));
199
+ --color-status-error-default: var(--color-sonja-500);
200
+ --color-status-error-elevated: light-dark(var(--color-sonja-700), var(--color-sonja-400));
201
+ --color-status-error-strong: light-dark(var(--color-sonja-800), var(--color-sonja-300));
202
+
203
+ --color-status-success-subtle: light-dark(var(--color-starfield-300), var(--color-starfield-800));
204
+ --color-status-success-muted: light-dark(var(--color-starfield-400), var(--color-starfield-700));
205
+ --color-status-success-default: var(--color-starfield-500);
206
+ --color-status-success-elevated: light-dark(var(--color-starfield-700), var(--color-starfield-400));
207
+ --color-status-success-strong: light-dark(var(--color-starfield-800), var(--color-starfield-300));
208
+
209
+ /* ================================================================= *
210
+ * Component color tokens (semantic) *
211
+ * ================================================================= */
212
+
213
+ /* Button fg colors */
214
+ --text-color-button-primary: var(--color-white);
215
+ --text-color-button-secondary: var(--text-color-default);
216
+ --text-color-button-tertiary: var(--text-color-default);
217
+ --text-color-button-inverse: var(--text-color-inverse-default);
218
+ --text-color-button-danger: var(--color-white);
219
+ --text-color-button-naked-idle: var(--text-color-muted);
220
+ --text-color-button-naked-hover: var(--text-color-default);
221
+ --text-color-button-naked-active: var(--text-color-muted);
222
+ --text-color-button-naked-toggled-idle: var(--text-color-default);
223
+ --text-color-button-naked-toggled-hover: var(--text-color-muted);
224
+ --text-color-button-naked-toggled-active: var(--text-color-default);
225
+
226
+ /* Button bg colors */
227
+ --background-color-button-primary-idle: var(--background-color-brand-default);
228
+ --background-color-button-primary-hover: var(--background-color-brand-elevated);
229
+ --background-color-button-primary-active: var(--background-color-brand-default);
230
+ --background-color-button-primary-disabled: var(--background-color-brand-subtle);
231
+
232
+ --background-color-button-secondary-idle: var(--background-color-default);
233
+ --background-color-button-secondary-hover: var(--background-color-elevated);
234
+ --background-color-button-secondary-active: var(--background-color-muted);
235
+ --background-color-button-secondary-disabled: var(--background-color-default);
236
+ --background-color-button-secondary-toggled-idle: light-dark(var(--color-brand-100), var(--color-brand-1100));
237
+ --background-color-button-secondary-toggled-hover: light-dark(var(--color-brand-200), var(--color-brand-1000));
238
+ --background-color-button-secondary-toggled-active: light-dark(var(--color-brand-100), var(--color-brand-1200));
239
+ --background-color-button-secondary-toggled-disabled: light-dark(var(--color-brand-100), var(--color-brand-1100));
240
+
241
+ --background-color-button-tertiary-idle: var(--color-transparent);
242
+ --background-color-button-tertiary-hover: var(--background-color-elevated);
243
+ --background-color-button-tertiary-active: var(--background-color-muted);
244
+ --background-color-button-tertiary-disabled: var(--color-transparent);
245
+ --background-color-button-tertiary-toggled-idle: var(--background-color-default);
246
+ --background-color-button-tertiary-toggled-hover: var(--background-color-strong);
247
+ --background-color-button-tertiary-toggled-active: var(--background-color-muted);
248
+ --background-color-button-tertiary-toggled-disabled: var(--background-color-default);
249
+
250
+ --background-color-button-inverse-idle: var(--background-color-inverse-canvas);
251
+ --background-color-button-inverse-hover: var(--background-color-inverse-subtle);
252
+ --background-color-button-inverse-active: var(--background-color-inverse-elevated);
253
+ --background-color-button-inverse-disabled: var(--background-color-inverse-default);
254
+
255
+ --background-color-button-danger-idle: var(--color-status-error-default);
256
+ --background-color-button-danger-hover: var(--color-status-error-elevated);
257
+ --background-color-button-danger-active: var(--color-status-error-muted);
258
+ --background-color-button-danger-disabled: var(--color-status-error-subtle);
259
+
260
+ /* Button border colors */
261
+ --border-color-button-primary-idle: var(--border-color-brand-elevated);
262
+ --border-color-button-primary-hover: var(--border-color-brand-strong);
263
+ --border-color-button-primary-active: var(--border-color-brand-elevated);
264
+ --border-color-button-primary-disabled: var(--color-transparent);
265
+
266
+ --border-color-button-secondary-idle: var(--border-color-default);
267
+ --border-color-button-secondary-hover: var(--border-color-elevated);
268
+ --border-color-button-secondary-active: var(--border-color-muted);
269
+ --border-color-button-secondary-disabled: var(--color-transparent);
270
+ --border-color-button-secondary-toggled-idle: var(--border-color-brand-default);
271
+ --border-color-button-secondary-toggled-hover: var(--border-color-brand-muted);
272
+ --border-color-button-secondary-toggled-active: var(--border-color-brand-subtle);
273
+ --border-color-button-secondary-toggled-disabled: var(--color-transparent);
274
+
275
+ --border-color-button-tertiary-idle: var(--border-color-default);
276
+ --border-color-button-tertiary-hover: var(--border-color-elevated);
277
+ --border-color-button-tertiary-active: var(--border-color-muted);
278
+ --border-color-button-tertiary-disabled: var(--border-color-muted);
279
+ --border-color-button-tertiary-toggled-idle: var(--border-color-default);
280
+ --border-color-button-tertiary-toggled-hover: var(--border-color-strong);
281
+ --border-color-button-tertiary-toggled-active: var(--border-color-muted);
282
+ --border-color-button-tertiary-toggled-disabled: var(--color-transparent);
283
+
284
+ --border-color-button-danger-idle: var(--color-status-error-elevated);
285
+ --border-color-button-danger-hover: var(--color-status-error-strong);
286
+ --border-color-button-danger-active: var(--color-status-error-default);
287
+ --border-color-button-danger-disabled: var(--color-transparent);
288
+
289
+ /* Form fg colors */
290
+ --text-color-form-text: var(--text-color-default);
291
+ --text-color-form-placeholder: var(--text-color-muted);
292
+ --text-color-form-disabled: var(--text-color-subtle);
293
+ --text-color-form-helper: var(--text-color-default);
294
+ --text-color-form-checked: var(--color-white);
295
+
296
+ /* Form bg colors */
297
+ --background-color-form-idle: var(--background-color-subtle);
298
+ --background-color-form-hover: var(--background-color-muted);
299
+ --background-color-form-focus: var(--background-color-subtle);
300
+ --background-color-form-disabled: var(--background-color-muted);
301
+ --background-color-form-checked-idle: var(--background-color-brand-default);
302
+ --background-color-form-checked-hover: var(--background-color-brand-elevated);
303
+ --background-color-form-checked-active: light-dark(var(--color-brand-300), var(--color-brand-1100));
304
+ --background-color-form-checked-disabled: light-dark(var(--color-brand-200), var(--color-brand-1000));
305
+
306
+ /* Form handle colors */
307
+ --background-color-form-handle-default: light-dark(var(--color-space-1000), var(--color-white));
308
+ --background-color-form-handle-checked: var(--color-white);
309
+ --background-color-form-handle-disabled: light-dark(var(--color-foam-600), var(--color-space-400));
310
+ --background-color-form-handle-checked-disabled: light-dark(var(--color-brand-400), var(--color-space-400));
311
+
312
+ /* Form border colors */
313
+ --border-color-form-idle: var(--border-color-default);
314
+ --border-color-form-hover: var(--border-color-elevated);
315
+ --border-color-form-active: var(--border-color-default);
316
+ --border-color-form-disabled: var(--border-color-subtle);
317
+ --border-color-form-checked-idle: var(--color-transparent);
318
+ --border-color-form-checked-hover: var(--color-transparent);
319
+ --border-color-form-checked-active: var(--border-color-brand-muted);
320
+ --border-color-form-checked-disabled: var(--color-transparent);
321
+
322
+ --border-color-form-status-warning-idle: var(--color-status-warning-subtle);
323
+ --border-color-form-status-warning-hover: var(--color-status-warning-muted);
324
+ --border-color-form-status-warning-focus: var(--color-status-warning-muted);
325
+ --border-color-form-status-error-idle: var(--color-status-error-subtle);
326
+ --border-color-form-status-error-hover: var(--color-status-error-muted);
327
+ --border-color-form-status-error-focus: var(--color-status-error-muted);
328
+ --border-color-form-status-success-idle: var(--color-status-success-subtle);
329
+ --border-color-form-status-success-hover: var(--color-status-success-muted);
330
+ --border-color-form-status-success-focus: var(--color-status-success-muted);
331
+
332
+ /* Card bg colors */
333
+ --background-color-card-primary-idle: light-dark(var(--color-brand-100), var(--color-brand-1200));
334
+ --background-color-card-primary-hover: light-dark(var(--color-brand-200), var(--color-brand-1100));
335
+ --background-color-card-primary-active: light-dark(var(--color-brand-100), var(--color-brand-1200));
336
+ --background-color-card-primary-disabled: light-dark(var(--color-brand-100), var(--color-brand-1200));
337
+
338
+ --background-color-card-secondary-idle: var(--background-color-muted);
339
+ --background-color-card-secondary-hover: var(--background-color-default);
340
+ --background-color-card-secondary-active: var(--background-color-muted);
341
+ --background-color-card-secondary-disabled: var(--background-color-muted);
342
+
343
+ --background-color-card-tertiary-idle: var(--color-transparent);
344
+ --background-color-card-tertiary-hover: var(--background-color-subtle);
345
+ --background-color-card-tertiary-active: var(--background-color-muted);
346
+ --background-color-card-tertiary-disabled: var(--color-transparent);
347
+
348
+ /* Card border colors */
349
+ --border-color-card-primary-idle: light-dark(var(--color-brand-300), var(--color-brand-800));
350
+ --border-color-card-primary-hover: light-dark(var(--color-brand-400), var(--color-brand-700));
351
+ --border-color-card-primary-active: light-dark(var(--color-brand-300), var(--color-brand-800));
352
+ --border-color-card-primary-disabled: var(--color-transparent);
353
+
354
+ --border-color-card-secondary-idle: var(--border-color-muted);
355
+ --border-color-card-secondary-hover: var(--border-color-elevated);
356
+ --border-color-card-secondary-active: var(--border-color-muted);
357
+ --border-color-card-secondary-disabled: var(--color-transparent);
358
+
359
+ --border-color-card-tertiary-idle: var(--border-color-default);
360
+ --border-color-card-tertiary-hover: var(--border-color-elevated);
361
+ --border-color-card-tertiary-active: var(--border-color-muted);
362
+ --border-color-card-tertiary-disabled: var(--border-color-muted);
363
+
364
+ /* ================================================================= *
365
+ * Border radius (complete override) *
366
+ * ================================================================= */
367
+
368
+ --radius-*: initial;
369
+ --radius-none: 0;
370
+ --radius-2: 0.125rem;
371
+ --radius-4: 0.25rem;
372
+ --radius-6: 0.375rem;
373
+ --radius-8: 0.5rem;
374
+ --radius-10: 0.625rem;
375
+ --radius-12: 0.75rem;
376
+ --radius-16: 1rem;
377
+ --radius-full: 9999px; /* `calc(infinity * 1px)` is more technically correct, but it breaks some Motion animations (e.g. `SegmentedControl`) */
378
+
379
+ /* ================================================================= *
380
+ * Extend Tailwind defaults *
381
+ * ================================================================= */
382
+
383
+ /* Breakpoints */
384
+ --breakpoint-2xs: 24rem; /* 384px */
385
+ --breakpoint-xs: 32rem; /* 512px */
386
+ --breakpoint-sm: 40rem; /* 640px */
387
+ --breakpoint-md: 48rem; /* 768px */
388
+ --breakpoint-lg: 64rem; /* 1024px */
389
+ --breakpoint-xl: 80rem; /* 1280px */
390
+ --breakpoint-2xl: 96rem; /* 1536px */
391
+ /* sm, md, lg, xl, 2xl are Tailwind defaults, but they are listed for reference purposes */
392
+
393
+ /* Spacings */
394
+ --spacing-em: 1em;
395
+ --spacing-lh: 1lh;
396
+ --gap-addon: min(0.25em, --spacing(1));
397
+
398
+ /* Opacities */
399
+ --opacity-disabled: 60%;
400
+
401
+ /* Easing functions */
402
+ --ease-linear: cubic-bezier(0, 0, 1, 1);
403
+ --ease-in: cubic-bezier(0.4, 0, 1, 1);
404
+ --ease-out: cubic-bezier(0, 0, 0.4, 1);
405
+ --ease-in-out: cubic-bezier(0.4, 0, 0.4, 1);
406
+
407
+ /* Default values */
408
+ --default-transition-duration: 150ms;
409
+ --default-transition-timing-function: var(--ease-out);
410
+ --default-animation-duration: 1s;
411
+ --default-animation-timing-function: var(--ease-out);
412
+
413
+ /* Misc. */
414
+ --content-nbsp: '\00a0';
415
+ }
416
+
417
+ /* Some theme values cannot be variables */
418
+ @theme inline {
419
+ --radius-inherit: inherit;
420
+ }
@@ -0,0 +1,198 @@
1
+ /* Completely override Tailwind's default typography tokens */
2
+ @theme static {
3
+ /* Font families */
4
+ --font-*: initial;
5
+ --font-sans: 'EuclidCircular', sans-serif;
6
+ --font-mono:
7
+ ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',
8
+ monospace;
9
+
10
+ /* Font weights */
11
+ --font-weight-*: initial;
12
+ --font-weight-lighter: 300;
13
+ --font-weight-light: 300;
14
+ --font-weight-regular: 400;
15
+ --font-weight-medium: 500;
16
+ --font-weight-semibold: 600;
17
+ --font-weight-bold: 700;
18
+ --font-weight-bolder: 500;
19
+
20
+ /* Font sizes and their default line heights */
21
+ --text-*: initial;
22
+ --text-128: 8rem;
23
+ --text-128--line-height: 8rem; /* 1 */
24
+ --text-128--line-height--loose: 10rem;
25
+ --text-96: 6rem;
26
+ --text-96--line-height: 6rem; /* 1 */
27
+ --text-96--line-height--loose: 8rem;
28
+ --text-64: 4rem;
29
+ --text-64--line-height: 4.5rem; /* 1.125 */
30
+ --text-64--line-height--loose: 5rem;
31
+ --text-56: 3.5rem;
32
+ --text-56--line-height: 4rem; /* 1.143 */
33
+ --text-56--line-height--loose: 4.5rem;
34
+ --text-48: 3rem;
35
+ --text-48--line-height: 3.5rem; /* 1.167 */
36
+ --text-48--line-height--loose: 4rem;
37
+ --text-40: 2.5rem;
38
+ --text-40--line-height: 3rem; /* 1.2 */
39
+ --text-40--line-height--loose: 3.5rem;
40
+ --text-32: 2rem;
41
+ --text-32--line-height: 2.5rem; /* 1.25 */
42
+ --text-32--line-height--loose: 2.75rem; /* 1.375 */
43
+ --text-24: 1.5rem;
44
+ --text-24--line-height: 2rem; /* 1.333 */
45
+ --text-24--line-height--loose: 2.25rem; /* 1.5 */
46
+ --text-20: 1.25rem;
47
+ --text-20--line-height: 1.75rem; /* 1.4 */
48
+ --text-20--line-height--loose: 2rem; /* 1.6 */
49
+ --text-18: 1.125rem;
50
+ --text-18--line-height: 1.5rem; /* 1.333 */
51
+ --text-18--line-height--loose: 1.75rem; /* 1.556 */
52
+ --text-16: 1rem;
53
+ --text-16--line-height: 1.5rem; /* 1.5 */
54
+ --text-16--line-height--loose: 1.75rem; /* 1.75 */
55
+ --text-14: 0.875rem;
56
+ --text-14--line-height: 1.25rem; /* 1.429 */
57
+ --text-14--line-height--loose: 1.5rem; /* 1.714 */
58
+ --text-12: 0.75rem;
59
+ --text-12--line-height: 1rem; /* 1.333 */
60
+ --text-12--line-height--loose: 1.25rem; /* 1.667 */
61
+ --text-10: 0.625rem;
62
+ --text-10--line-height: 0.875rem; /* 1.4 */
63
+ --text-10--line-height--loose: 1rem; /* 1.6 */
64
+
65
+ /* Line heights */
66
+ --leading-*: initial;
67
+ --leading-none: 1;
68
+ --leading-normal: var(--text-16--line-height);
69
+ --leading-loose: var(--text-16--line-height--loose);
70
+
71
+ /* Letter spacings */
72
+ --tracking-*: initial;
73
+ --tracking-normal: 0;
74
+ --tracking-caption: 0.15em;
75
+ }
76
+
77
+ /* Redefine the `normal` and `loose` leadings for every font size utility */
78
+ @utility text-* {
79
+ --gds-font-size: --value(--text-*, [length]);
80
+ --leading-normal: --value(--text-* --line-height);
81
+ --leading-loose: --value(--text-* --line-height--loose);
82
+ /**
83
+ * Ensure changing the font size without specifying a leading uses the last specified one.
84
+ * This makes `prose text-16` work without `text-16` overriding the `loose` leading from `prose`.
85
+ */
86
+ --tw-leading: --modifier(--leading-*);
87
+ }
88
+
89
+ /* Redefine the `lighter` and `bolder` font weights for every font weight utility */
90
+ @utility font-* {
91
+ --gds-font-weight: --value(--font-weight-*, [integer], [weight]);
92
+ @container style(--gds-font-weight: 300) {
93
+ --font-weight-lighter: 300;
94
+ --font-weight-bolder: 400;
95
+ }
96
+ @container style(--gds-font-weight: 400) {
97
+ --font-weight-lighter: 300;
98
+ --font-weight-bolder: 500;
99
+ }
100
+ @container style(--gds-font-weight: 500) {
101
+ --font-weight-lighter: 400;
102
+ --font-weight-bolder: 600;
103
+ }
104
+ @container style(--gds-font-weight: 600) {
105
+ --font-weight-lighter: 500;
106
+ --font-weight-bolder: 700;
107
+ }
108
+ @container style(--gds-font-weight: 700) {
109
+ --font-weight-lighter: 600;
110
+ --font-weight-bolder: 700;
111
+ }
112
+ }
113
+
114
+ /**
115
+ * Extend the default `italic` and `not-italic` utilities to work around Safari rendering issues.
116
+ * Safari needs manual `slnt` and `ital` axis settings to properly render a variable font in italic.
117
+ * See https://bugs.webkit.org/show_bug.cgi?id=209565
118
+ */
119
+ @utility italic {
120
+ font-variation-settings:
121
+ 'slnt' -11,
122
+ 'ital' 1;
123
+ }
124
+ @utility not-italic {
125
+ font-variation-settings: initial;
126
+ }
127
+
128
+ /* Caption text style */
129
+ @utility text-caption {
130
+ @apply tracking-caption uppercase;
131
+ }
132
+
133
+ /* Add a `prose` class to style long-form content with basic spacing and typography defaults */
134
+ @layer base.components {
135
+ .prose {
136
+ @apply text-18/loose text-muted;
137
+
138
+ & :is(h1, h2, h3, h4, h5, h6, b, strong) {
139
+ @apply font-bolder text-default;
140
+ }
141
+
142
+ & h1 {
143
+ @apply text-40/loose;
144
+ }
145
+
146
+ & h2 {
147
+ @apply text-32/loose;
148
+ }
149
+
150
+ & h3 {
151
+ @apply text-24/loose;
152
+ }
153
+
154
+ & h4 {
155
+ @apply text-20/loose;
156
+ }
157
+
158
+ & :is(ul, ol) {
159
+ @apply ps-6;
160
+ }
161
+
162
+ & ul {
163
+ @apply list-disc;
164
+ }
165
+
166
+ & ol {
167
+ @apply list-decimal;
168
+ }
169
+
170
+ & li {
171
+ @apply ps-1;
172
+ }
173
+
174
+ & li + li {
175
+ @apply mt-2;
176
+ }
177
+
178
+ & > * + * {
179
+ @apply mt-6;
180
+
181
+ &:is(h1, h2) {
182
+ @apply mt-12;
183
+ }
184
+
185
+ &:is(h3) {
186
+ @apply mt-10;
187
+ }
188
+
189
+ &:is(h4, h5, h6) {
190
+ @apply mt-8;
191
+ }
192
+ }
193
+
194
+ & > :is(h2, h3, h4, h5, h6) + * {
195
+ @apply mt-4;
196
+ }
197
+ }
198
+ }