@stainless-api/ui-primitives 0.1.0-beta.16 → 0.1.0-beta.18

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.
package/dist/styles.css DELETED
@@ -1,1172 +0,0 @@
1
- @layer stl-ui.tokens {
2
- /* Scales - Default */
3
- :root {
4
- --stl-ui-gray-50: rgba(250, 250, 250, 1);
5
- --stl-ui-gray-100: rgba(245, 245, 245, 1);
6
- --stl-ui-gray-200: rgba(229, 229, 229, 1);
7
- --stl-ui-gray-300: rgba(212, 212, 212, 1);
8
- --stl-ui-gray-400: rgba(163, 163, 163, 1);
9
- --stl-ui-gray-500: rgba(115, 115, 115, 1);
10
- --stl-ui-gray-600: rgba(82, 82, 82, 1);
11
- --stl-ui-gray-700: rgba(64, 64, 64, 1);
12
- --stl-ui-gray-800: rgba(38, 38, 38, 1);
13
- --stl-ui-gray-900: rgba(23, 23, 23, 1);
14
- --stl-ui-gray-950: rgba(10, 10, 10, 1);
15
- --stl-ui-accent-50: #eff6ffff;
16
- --stl-ui-accent-100: #dbeafeff;
17
- --stl-ui-accent-200: #bedbffff;
18
- --stl-ui-accent-300: #8ec5ffff;
19
- --stl-ui-accent-400: #51a2ffff;
20
- --stl-ui-accent-500: #2b7fffff;
21
- --stl-ui-accent-600: #155dfcff;
22
- --stl-ui-accent-700: #1447e6ff;
23
- --stl-ui-accent-800: #193cb8ff;
24
- --stl-ui-accent-900: #132762ff;
25
- --stl-ui-accent-950: #0b1128ff;
26
- --stl-ui-red-50: rgba(252, 243, 243, 1);
27
- --stl-ui-red-100: rgba(249, 227, 227, 1);
28
- --stl-ui-red-200: rgba(246, 203, 203, 1);
29
- --stl-ui-red-300: rgba(242, 166, 165, 1);
30
- --stl-ui-red-400: rgba(235, 109, 108, 1);
31
- --stl-ui-red-500: rgba(227, 64, 65, 1);
32
- --stl-ui-red-600: rgba(208, 30, 34, 1);
33
- --stl-ui-red-700: rgba(174, 25, 26, 1);
34
- --stl-ui-red-800: rgba(143, 28, 27, 1);
35
- --stl-ui-red-900: rgba(85, 24, 22, 1);
36
- --stl-ui-red-950: rgba(43, 9, 8, 1);
37
- --stl-ui-blue-50: rgba(239, 246, 255, 1);
38
- --stl-ui-blue-100: rgba(219, 234, 254, 1);
39
- --stl-ui-blue-200: rgba(190, 219, 255, 1);
40
- --stl-ui-blue-300: rgba(142, 197, 255, 1);
41
- --stl-ui-blue-400: rgba(81, 162, 255, 1);
42
- --stl-ui-blue-500: rgba(43, 127, 255, 1);
43
- --stl-ui-blue-600: rgba(21, 93, 252, 1);
44
- --stl-ui-blue-700: rgba(20, 71, 230, 1);
45
- --stl-ui-blue-800: rgba(25, 60, 184, 1);
46
- --stl-ui-blue-900: rgba(19, 39, 98, 1);
47
- --stl-ui-blue-950: rgba(11, 17, 40, 1);
48
- --stl-ui-green-50: rgba(240, 253, 244, 1);
49
- --stl-ui-green-100: rgba(220, 252, 231, 1);
50
- --stl-ui-green-200: rgba(187, 247, 208, 1);
51
- --stl-ui-green-300: rgba(134, 239, 172, 1);
52
- --stl-ui-green-400: rgba(74, 222, 128, 1);
53
- --stl-ui-green-500: rgba(34, 197, 94, 1);
54
- --stl-ui-green-600: rgba(22, 163, 74, 1);
55
- --stl-ui-green-700: rgba(21, 128, 61, 1);
56
- --stl-ui-green-800: rgba(22, 101, 52, 1);
57
- --stl-ui-green-900: rgba(15, 62, 33, 1);
58
- --stl-ui-green-950: rgba(4, 32, 15, 1);
59
- --stl-ui-orange-50: rgba(255, 247, 237, 1);
60
- --stl-ui-orange-100: rgba(255, 237, 213, 1);
61
- --stl-ui-orange-200: rgba(254, 215, 170, 1);
62
- --stl-ui-orange-300: rgba(253, 186, 116, 1);
63
- --stl-ui-orange-400: rgba(251, 146, 60, 1);
64
- --stl-ui-orange-500: rgba(249, 115, 22, 1);
65
- --stl-ui-orange-600: rgba(234, 88, 12, 1);
66
- --stl-ui-orange-700: rgba(194, 65, 12, 1);
67
- --stl-ui-orange-800: rgba(154, 52, 18, 1);
68
- --stl-ui-orange-900: rgba(89, 32, 13, 1);
69
- --stl-ui-orange-950: rgba(46, 14, 5, 1);
70
- --stl-ui-purple-50: rgba(250, 245, 255, 1);
71
- --stl-ui-purple-100: rgba(243, 232, 255, 1);
72
- --stl-ui-purple-200: rgba(233, 213, 255, 1);
73
- --stl-ui-purple-300: rgba(216, 180, 254, 1);
74
- --stl-ui-purple-400: rgba(192, 132, 252, 1);
75
- --stl-ui-purple-500: rgba(168, 85, 247, 1);
76
- --stl-ui-purple-600: rgba(147, 51, 234, 1);
77
- --stl-ui-purple-700: rgba(126, 34, 206, 1);
78
- --stl-ui-purple-800: rgba(107, 33, 168, 1);
79
- --stl-ui-purple-900: rgba(72, 23, 110, 1);
80
- --stl-ui-purple-950: rgba(39, 5, 67, 1);
81
- --stl-ui-cyan-50: rgba(236, 254, 255, 1);
82
- --stl-ui-cyan-100: rgba(207, 250, 254, 1);
83
- --stl-ui-cyan-200: rgba(165, 243, 252, 1);
84
- --stl-ui-cyan-300: rgba(103, 232, 249, 1);
85
- --stl-ui-cyan-400: rgba(34, 211, 238, 1);
86
- --stl-ui-cyan-500: rgba(6, 182, 212, 1);
87
- --stl-ui-cyan-600: rgba(8, 145, 178, 1);
88
- --stl-ui-cyan-700: rgba(14, 116, 144, 1);
89
- --stl-ui-cyan-800: rgba(21, 94, 117, 1);
90
- --stl-ui-cyan-900: rgba(18, 62, 79, 1);
91
- --stl-ui-cyan-950: rgba(5, 34, 46, 1);
92
- --stl-ui-pink-50: rgba(253, 242, 248, 1);
93
- --stl-ui-pink-100: rgba(252, 231, 243, 1);
94
- --stl-ui-pink-200: rgba(251, 207, 232, 1);
95
- --stl-ui-pink-300: rgba(249, 168, 212, 1);
96
- --stl-ui-pink-400: rgba(244, 114, 182, 1);
97
- --stl-ui-pink-500: rgba(236, 72, 153, 1);
98
- --stl-ui-pink-600: rgba(219, 39, 119, 1);
99
- --stl-ui-pink-700: rgba(190, 24, 93, 1);
100
- --stl-ui-pink-800: rgba(157, 23, 77, 1);
101
- --stl-ui-pink-900: rgba(103, 19, 53, 1);
102
- --stl-ui-pink-950: rgba(56, 5, 25, 1);
103
- --stl-ui-yellow-50: rgba(254, 252, 232, 1);
104
- --stl-ui-yellow-100: rgba(254, 249, 195, 1);
105
- --stl-ui-yellow-200: rgba(254, 240, 138, 1);
106
- --stl-ui-yellow-300: rgba(253, 224, 71, 1);
107
- --stl-ui-yellow-400: rgba(250, 204, 21, 1);
108
- --stl-ui-yellow-500: rgba(234, 179, 8, 1);
109
- --stl-ui-yellow-600: rgba(202, 138, 4, 1);
110
- --stl-ui-yellow-700: rgba(161, 98, 7, 1);
111
- --stl-ui-yellow-800: rgba(133, 77, 14, 1);
112
- --stl-ui-yellow-900: rgba(88, 49, 14, 1);
113
- --stl-ui-yellow-950: rgba(47, 23, 4, 1);
114
-
115
- /* TODO support accent generation */
116
- /* --stl-ui-accent-base: rgb(21, 93, 252);
117
- --stl-ui-accent-50: color-mix(in oklch, white 95%, var(--stl-ui-accent-base));
118
- --stl-ui-accent-100: color-mix(in oklch, white 85%, var(--stl-ui-accent-base));
119
- --stl-ui-accent-200: color-mix(in oklch, white 70%, var(--stl-ui-accent-base));
120
- --stl-ui-accent-300: color-mix(in oklch, white 55%, var(--stl-ui-accent-base));
121
- --stl-ui-accent-400: color-mix(in oklch, white 40%, var(--stl-ui-accent-base));
122
- --stl-ui-accent-500: color-mix(in oklch, white 25%, var(--stl-ui-accent-base));
123
- --stl-ui-accent-600: var(--stl-ui-accent-base);
124
- --stl-ui-accent-700: color-mix(in oklch, black 15%, var(--stl-ui-accent-base));
125
- --stl-ui-accent-800: color-mix(in oklch, black 30%, var(--stl-ui-accent-base));
126
- --stl-ui-accent-900: color-mix(in oklch, black 45%, var(--stl-ui-accent-base));
127
- --stl-ui-accent-950: color-mix(in oklch, black 60%, var(--stl-ui-accent-base)); */
128
- }
129
- }
130
-
131
- @layer stl-ui.tokens {
132
- /* --stl-ui-swatch-es - Light */
133
- :root {
134
- --stl-ui-swatch-gray-gray-1: var(--stl-ui-gray-800);
135
- --stl-ui-swatch-gray-gray-2: var(--stl-ui-gray-700);
136
- --stl-ui-swatch-gray-gray-3: var(--stl-ui-gray-600);
137
- --stl-ui-swatch-gray-gray-4: var(--stl-ui-gray-500);
138
- --stl-ui-swatch-gray-gray-5: var(--stl-ui-gray-400);
139
- --stl-ui-swatch-gray-gray-6: var(--stl-ui-gray-300);
140
- --stl-ui-swatch-gray-gray-7: var(--stl-ui-gray-200);
141
- --stl-ui-swatch-gray-gray-8: var(--stl-ui-gray-100);
142
- --stl-ui-swatch-gray-gray-9: var(--stl-ui-gray-50);
143
- --stl-ui-swatch-gray-black: var(--stl-ui-gray-950);
144
- --stl-ui-swatch-gray-white: rgb(255, 255, 255);
145
-
146
- --stl-ui-swatch-accent-base: var(--stl-ui-accent-600);
147
- --stl-ui-swatch-accent-muted: var(--stl-ui-accent-200);
148
- --stl-ui-swatch-accent-faint: var(--stl-ui-accent-50);
149
- --stl-ui-swatch-red-base: var(--stl-ui-red-600);
150
- --stl-ui-swatch-red-muted: var(--stl-ui-red-200);
151
- --stl-ui-swatch-red-faint: var(--stl-ui-red-50);
152
- --stl-ui-swatch-green-base: var(--stl-ui-green-600);
153
- --stl-ui-swatch-green-muted: var(--stl-ui-green-200);
154
- --stl-ui-swatch-green-faint: var(--stl-ui-green-50);
155
- --stl-ui-swatch-blue-base: var(--stl-ui-blue-600);
156
- --stl-ui-swatch-blue-muted: var(--stl-ui-blue-200);
157
- --stl-ui-swatch-blue-faint: var(--stl-ui-blue-50);
158
- --stl-ui-swatch-orange-base: var(--stl-ui-orange-600);
159
- --stl-ui-swatch-orange-muted: var(--stl-ui-orange-200);
160
- --stl-ui-swatch-orange-faint: var(--stl-ui-orange-50);
161
- --stl-ui-swatch-purple-base: var(--stl-ui-purple-600);
162
- --stl-ui-swatch-purple-muted: var(--stl-ui-purple-200);
163
- --stl-ui-swatch-purple-faint: var(--stl-ui-purple-50);
164
- --stl-ui-swatch-cyan-base: var(--stl-ui-cyan-600);
165
- --stl-ui-swatch-cyan-muted: var(--stl-ui-cyan-200);
166
- --stl-ui-swatch-cyan-faint: var(--stl-ui-cyan-50);
167
- --stl-ui-swatch-pink-base: var(--stl-ui-pink-600);
168
- --stl-ui-swatch-pink-muted: var(--stl-ui-pink-200);
169
- --stl-ui-swatch-pink-faint: var(--stl-ui-pink-50);
170
- --stl-ui-swatch-yellow-base: var(--stl-ui-yellow-600);
171
- --stl-ui-swatch-yellow-muted: var(--stl-ui-yellow-200);
172
- --stl-ui-swatch-yellow-faint: var(--stl-ui-yellow-50);
173
- }
174
-
175
- /* --stl-ui-swatch-es - Dark */
176
- :root[data-theme='dark'] {
177
- --stl-ui-swatch-gray-gray-1: var(--stl-ui-gray-100);
178
- --stl-ui-swatch-gray-gray-2: var(--stl-ui-gray-200);
179
- --stl-ui-swatch-gray-gray-3: var(--stl-ui-gray-300);
180
- --stl-ui-swatch-gray-gray-4: var(--stl-ui-gray-400);
181
- --stl-ui-swatch-gray-gray-5: var(--stl-ui-gray-500);
182
- --stl-ui-swatch-gray-gray-6: var(--stl-ui-gray-600);
183
- --stl-ui-swatch-gray-gray-7: var(--stl-ui-gray-700);
184
- --stl-ui-swatch-gray-gray-8: var(--stl-ui-gray-800);
185
- --stl-ui-swatch-gray-gray-9: var(--stl-ui-gray-900);
186
- --stl-ui-swatch-gray-black: var(--stl-ui-gray-950);
187
- --stl-ui-swatch-gray-white: rgb(255, 255, 255);
188
-
189
- --stl-ui-swatch-accent-base: var(--stl-ui-accent-500);
190
- --stl-ui-swatch-accent-muted: var(--stl-ui-accent-900);
191
- --stl-ui-swatch-accent-faint: var(--stl-ui-accent-950);
192
- --stl-ui-swatch-red-base: var(--stl-ui-red-500);
193
- --stl-ui-swatch-red-muted: var(--stl-ui-red-900);
194
- --stl-ui-swatch-red-faint: var(--stl-ui-red-950);
195
- --stl-ui-swatch-green-base: var(--stl-ui-green-500);
196
- --stl-ui-swatch-green-muted: var(--stl-ui-green-900);
197
- --stl-ui-swatch-green-faint: var(--stl-ui-green-950);
198
- --stl-ui-swatch-blue-base: var(--stl-ui-blue-500);
199
- --stl-ui-swatch-blue-muted: var(--stl-ui-blue-900);
200
- --stl-ui-swatch-blue-faint: var(--stl-ui-blue-950);
201
- --stl-ui-swatch-orange-base: var(--stl-ui-orange-500);
202
- --stl-ui-swatch-orange-muted: var(--stl-ui-orange-900);
203
- --stl-ui-swatch-orange-faint: var(--stl-ui-orange-950);
204
- --stl-ui-swatch-purple-base: var(--stl-ui-purple-500);
205
- --stl-ui-swatch-purple-muted: var(--stl-ui-purple-900);
206
- --stl-ui-swatch-purple-faint: var(--stl-ui-purple-950);
207
- --stl-ui-swatch-cyan-base: var(--stl-ui-cyan-500);
208
- --stl-ui-swatch-cyan-muted: var(--stl-ui-cyan-900);
209
- --stl-ui-swatch-cyan-faint: var(--stl-ui-cyan-950);
210
- --stl-ui-swatch-pink-base: var(--stl-ui-pink-500);
211
- --stl-ui-swatch-pink-muted: var(--stl-ui-pink-900);
212
- --stl-ui-swatch-pink-faint: var(--stl-ui-pink-950);
213
- --stl-ui-swatch-yellow-base: var(--stl-ui-yellow-500);
214
- --stl-ui-swatch-yellow-muted: var(--stl-ui-yellow-900);
215
- --stl-ui-swatch-yellow-faint: var(--stl-ui-yellow-950);
216
- }
217
- }
218
-
219
- /* Typography - Stainless */
220
- @layer stl-ui.tokens {
221
- :root {
222
- --stl-ui-typography-font: 'Geist', system-ui, sans-serif;
223
- --stl-ui-typography-font-mono: 'Geist Mono', ui-monospace, monospace;
224
- --stl-ui-typography-line-height: 1.5;
225
- --stl-ui-typography-line-height-headings: 1.2;
226
-
227
- --stl-ui-typography-text-body: var(--stl-ui-type-scale-text);
228
- --stl-ui-typography-text-body-sm: var(--stl-ui-type-scale-text-sm);
229
- --stl-ui-typography-text-body-xs: var(--stl-ui-type-scale-text-xs);
230
-
231
- --stl-ui-typography-text-code: var(--stl-ui-type-scale-text-sm);
232
- --stl-ui-typography-text-code-sm: var(--stl-ui-type-scale-text-xs);
233
-
234
- --stl-ui-typography-text-h1: var(--stl-ui-type-scale-text-5xl);
235
- --stl-ui-typography-text-h2: var(--stl-ui-type-scale-text-4xl);
236
- --stl-ui-typography-text-h3: var(--stl-ui-type-scale-text-3xl);
237
- --stl-ui-typography-text-h4: var(--stl-ui-type-scale-text-2xl);
238
- --stl-ui-typography-text-h5: var(--stl-ui-type-scale-text-xl);
239
-
240
- --stl-ui-type-scale-text-xs: 12px;
241
- --stl-ui-type-scale-text-sm: 14px;
242
- --stl-ui-type-scale-text: 16px;
243
- --stl-ui-type-scale-text-lg: 18px;
244
- --stl-ui-type-scale-text-xl: 20px;
245
- --stl-ui-type-scale-text-2xl: 24px;
246
- --stl-ui-type-scale-text-3xl: 29px;
247
- --stl-ui-type-scale-text-4xl: 35px;
248
- --stl-ui-type-scale-text-5xl: 42px;
249
- --stl-ui-type-scale-text-6xl: 64px;
250
- }
251
- }
252
-
253
- /* Prose exists in its own sub-layer for easy reverting */
254
- body {
255
- font-family: var(--stl-ui-typography-font);
256
- font-feature-settings:
257
- 'ss01' on,
258
- 'ss03' on,
259
- 'ss04' on,
260
- 'ss06' on,
261
- 'ss08' on;
262
- }
263
-
264
- .stl-ui-prose {
265
- :where(p):not(.stl-ui-not-prose *) {
266
- color: var(--stl-ui-foreground-secondary);
267
- font-weight: 400;
268
- line-height: var(--stl-ui-typography-line-height);
269
- letter-spacing: -0.01em;
270
- font-size: var(--stl-ui-typography-text-body);
271
- margin-top: 16px;
272
- }
273
-
274
- :where(p, li) {
275
- &:not(.stl-ui-not-prose *) {
276
- color: var(--stl-ui-foreground-secondary);
277
- }
278
- }
279
-
280
- :where(strong):not(.stl-ui-not-prose *) {
281
- color: var(--stl-ui-foreground);
282
- }
283
-
284
- :where(aside):not(.stl-ui-not-prose *) {
285
- color: var(--stl-ui-foreground);
286
- }
287
-
288
- :is(h1, h2, h3, h4, h5, h6):not(.stl-ui-not-prose *) {
289
- color: var(--stl-ui-foreground);
290
- font-weight: 500;
291
- line-height: var(--stl-ui-typography-line-height-headings);
292
- }
293
-
294
- h1:not(.stl-ui-not-prose *) {
295
- /* Heading 1/Medium */
296
- font-size: var(--stl-ui-typography-text-h1);
297
- letter-spacing: -0.03em;
298
-
299
- margin-top: 64px;
300
- }
301
-
302
- h2:not(.stl-ui-not-prose *) {
303
- /* Heading 2/Medium */
304
- font-size: var(--stl-ui-typography-text-h2);
305
- letter-spacing: -0.03em;
306
-
307
- margin-top: 48px;
308
- }
309
-
310
- h3:not(.stl-ui-not-prose *) {
311
- /* Heading 3/Medium */
312
- font-size: var(--stl-ui-typography-text-h3);
313
- letter-spacing: -0.02em;
314
- margin-top: 40px;
315
- }
316
-
317
- h4:not(.stl-ui-not-prose *) {
318
- /* Heading 4/Medium */
319
- font-size: var(--stl-ui-typography-text-h4);
320
- letter-spacing: -0.02em;
321
- margin-top: 32px;
322
- }
323
-
324
- h5:not(.stl-ui-not-prose *) {
325
- /* Heading 5/Medium */
326
- font-size: var(--stl-ui-typography-text-h5);
327
- letter-spacing: -0.02em;
328
- margin-top: 24px;
329
- }
330
-
331
- li:not(.stl-ui-not-prose *) {
332
- &:not(:last-child) {
333
- margin-bottom: 8px;
334
- }
335
-
336
- h1,
337
- h2,
338
- h3,
339
- h4,
340
- h5,
341
- p,
342
- a {
343
- &:first-child {
344
- display: inline;
345
- }
346
- }
347
- }
348
-
349
- :where(ol, ul) {
350
- &:not(.stl-ui-not-prose *) {
351
- padding-left: 26px;
352
- }
353
- }
354
-
355
- :where(ol, ul, aside, img, figure, details) {
356
- &:not(.stl-ui-not-prose *) {
357
- margin-top: 16px;
358
- }
359
- }
360
-
361
- :where(:not(pre) > code):not(.stl-ui-not-prose *) {
362
- color: var(--stl-ui-foreground);
363
- font-feature-settings:
364
- 'ss01' on,
365
- 'ss03' on,
366
- 'ss04' on,
367
- 'ss06' on;
368
-
369
- /* Code/Regular */
370
- font-family: var(--stl-ui-typography-font-mono);
371
- font-size: 0.9em;
372
- font-weight: inherit;
373
-
374
- padding: 0 0.2em;
375
- background-color: oklch(from var(--stl-ui-foreground) l c h / 0.1);
376
- border-radius: 0.2em;
377
- }
378
- }
379
-
380
- @layer stl-ui.tokens {
381
- /* Layout - Stainless */
382
- :root {
383
- --stl-ui-layout-border-radius-xs: 4px;
384
- --stl-ui-layout-border-radius-sml: 8px;
385
- --stl-ui-layout-border-radius: 12px;
386
- --stl-ui-layout-border-radius-med: 16px;
387
- --stl-ui-layout-border-radius-max: 9999px;
388
- --stl-ui-left-content-indent: 24px;
389
-
390
- --stl-ui-page-padding-inline: 20px;
391
- }
392
- }
393
-
394
- @layer stl-ui.tokens {
395
- /* Swatches - Light */
396
- :root {
397
- --stl-ui-background: var(--stl-ui-swatch-gray-white);
398
- --stl-ui-card-background: var(--stl-ui-swatch-gray-white);
399
- --stl-ui-muted-background: var(--stl-ui-swatch-gray-gray-8);
400
- --stl-ui-foreground: var(--stl-ui-swatch-gray-gray-1);
401
- --stl-ui-foreground-secondary: var(--stl-ui-swatch-gray-gray-3);
402
- --stl-ui-foreground-muted: var(--stl-ui-swatch-gray-gray-4);
403
- --stl-ui-foreground-accent: var(--stl-ui-swatch-accent-base);
404
- --stl-ui-border: var(--stl-ui-swatch-gray-gray-7);
405
- --stl-ui-border-muted: var(--stl-ui-swatch-gray-gray-8);
406
- --stl-ui-border-emphasis: var(--stl-ui-swatch-gray-gray-6);
407
- --stl-ui-inverse-background: var(--stl-ui-swatch-gray-gray-1);
408
- --stl-ui-inverse-foreground: var(--stl-ui-swatch-gray-white);
409
- --stl-ui-accent-background: var(--stl-ui-swatch-accent-base);
410
- --stl-ui-accent-foreground: var(--stl-ui-swatch-gray-white);
411
- --stl-ui-accent-muted-background: var(--stl-ui-swatch-accent-faint);
412
- --stl-ui-accent-muted-foreground: var(--stl-ui-swatch-accent-base);
413
- --stl-ui-accent-border: var(--stl-ui-swatch-accent-muted);
414
- --stl-ui-accent-border-muted: var(--stl-ui-swatch-accent-faint);
415
- --stl-ui-accent-border-emphasis: var(--stl-ui-swatch-accent-base);
416
- --stl-ui-overlay-background: #0000000d;
417
- }
418
-
419
- /* Swatches - Dark */
420
- :root[data-theme='dark'] {
421
- --stl-ui-background: var(--stl-ui-swatch-gray-black);
422
- --stl-ui-card-background: var(--stl-ui-swatch-gray-gray-9);
423
- --stl-ui-muted-background: var(--stl-ui-swatch-gray-gray-9);
424
- --stl-ui-foreground: var(--stl-ui-swatch-gray-gray-1);
425
- --stl-ui-foreground-secondary: var(--stl-ui-swatch-gray-gray-3);
426
- --stl-ui-foreground-muted: var(--stl-ui-swatch-gray-gray-4);
427
- --stl-ui-foreground-accent: var(--stl-ui-swatch-accent-base);
428
- --stl-ui-border: var(--stl-ui-swatch-gray-gray-8);
429
- --stl-ui-border-muted: var(--stl-ui-swatch-gray-gray-9);
430
- --stl-ui-border-emphasis: var(--stl-ui-swatch-gray-gray-7);
431
- --stl-ui-inverse-background: var(--stl-ui-swatch-gray-gray-1);
432
- --stl-ui-inverse-foreground: var(--stl-ui-swatch-gray-black);
433
- --stl-ui-accent-background: var(--stl-ui-swatch-accent-base);
434
- --stl-ui-accent-foreground: var(--stl-ui-swatch-gray-white);
435
- --stl-ui-accent-muted-background: var(--stl-ui-swatch-accent-faint);
436
- --stl-ui-accent-muted-foreground: var(--stl-ui-swatch-accent-base);
437
- --stl-ui-accent-border: var(--stl-ui-swatch-accent-muted);
438
- --stl-ui-accent-border-muted: var(--stl-ui-swatch-accent-faint);
439
- --stl-ui-accent-border-emphasis: var(--stl-ui-swatch-accent-base);
440
- --stl-ui-overlay-background: #00000080;
441
- }
442
- }
443
-
444
- :root {
445
- /* Layout and Typography */
446
- --sl-font: var(--stl-ui-typography-font);
447
- --sl-font-mono: var(--stl-ui-typography-font-mono);
448
- --sl-line-height: var(--stl-ui-typography-line-height);
449
-
450
- /* Headings */
451
- --sl-text-h1: var(--stl-ui-typography-text-h1);
452
- --sl-text-h2: var(--stl-ui-typography-text-h2);
453
- --sl-text-h3: var(--stl-ui-typography-text-h3);
454
- --sl-text-h4: var(--stl-ui-typography-text-h4);
455
- --sl-text-h5: var(--stl-ui-typography-text-h5);
456
-
457
- /* Colors */
458
- --sl-color-bg: var(--stl-ui-background);
459
- --sl-color-bg-sidebar: var(--stl-ui-background);
460
- --sl-color-bg-ui: var(--stl-ui-card-background);
461
- --sl-color-bg-nav: var(--stl-ui-background);
462
- --sl-color-bg-inline-code: var(--stl-ui-muted-background);
463
- --sl-color-bg-accent: var(--stl-ui-accent-background);
464
-
465
- --sl-color-text: var(--stl-ui-foreground);
466
- --sl-color-text-secondary: var(--stl-ui-foreground-secondary);
467
- --sl-color-text-tertiary: var(--stl-ui-foreground-muted);
468
- --sl-color-text-accent: var(--stl-ui-foreground-accent);
469
- --sl-color-hairline: var(--stl-ui-border);
470
- --sl-color-hairline-light: var(--stl-ui-border-muted);
471
- --sl-color-hairline-shade: var(--stl-ui-border-emphasis);
472
- --sl-color-text-invert: var(--stl-ui-inverse-foreground);
473
-
474
- /* Primary colors */
475
- --sl-color-red-low: var(--stl-ui-swatch-red-faint);
476
- --sl-color-red: var(--stl-ui-swatch-red-base);
477
- --sl-color-red-high: var(--stl-ui-swatch-red-base);
478
-
479
- --sl-color-green-low: var(--stl-ui-swatch-green-faint);
480
- --sl-color-green: var(--stl-ui-swatch-green-base);
481
- --sl-color-green-high: var(--stl-ui-swatch-green-base);
482
-
483
- --sl-color-blue-low: var(--stl-ui-swatch-blue-faint);
484
- --sl-color-blue: var(--stl-ui-swatch-blue-base);
485
- --sl-color-blue-high: var(--stl-ui-swatch-blue-base);
486
-
487
- --sl-color-orange-low: var(--stl-ui-swatch-orange-faint);
488
- --sl-color-orange: var(--stl-ui-swatch-orange-base);
489
- --sl-color-orange-high: var(--stl-ui-swatch-orange-base);
490
-
491
- --sl-color-purple-low: var(--stl-ui-swatch-purple-faint);
492
- --sl-color-purple: var(--stl-ui-swatch-purple-base);
493
- --sl-color-purple-high: var(--stl-ui-swatch-purple-base);
494
-
495
- --sl-color-teal-low: var(--stl-ui-swatch-teal-faint);
496
- --sl-color-teal: var(--stl-ui-swatch-teal-base);
497
- --sl-color-teal-high: var(--stl-ui-swatch-teal-base);
498
-
499
- --sl-color-magenta-low: var(--stl-ui-swatch-pink-faint);
500
- --sl-color-magenta: var(--stl-ui-swatch-pink-base);
501
- --sl-color-magenta-high: var(--stl-ui-swatch-pink-base);
502
-
503
- --sl-color-yellow-low: var(--stl-ui-swatch-yellow-faint);
504
- --sl-color-yellow: var(--stl-ui-swatch-yellow-base);
505
- --sl-color-yellow-high: var(--stl-ui-swatch-yellow-base);
506
- }
507
-
508
- /* Starlight Compatibility */
509
- .stl-ui-prose {
510
- /* TODO: Disable starlight headingLinks and replace with our own */
511
- /* Duplicate styles from h1–5 in typography; TODO: move to mixins after adopting preprocessor */
512
- .sl-heading-wrapper.level-h1 {
513
- font-size: var(--stl-ui-typography-text-h1);
514
- letter-spacing: -0.03em;
515
- margin-top: 64px;
516
- line-height: var(--stl-ui-typography-line-height-headings);
517
- }
518
- .sl-heading-wrapper.level-h2 {
519
- font-size: var(--stl-ui-typography-text-h2);
520
- letter-spacing: -0.03em;
521
- margin-top: 48px;
522
- line-height: var(--stl-ui-typography-line-height-headings);
523
- }
524
-
525
- .sl-heading-wrapper.level-h3 {
526
- font-size: var(--stl-ui-typography-text-h3);
527
- letter-spacing: -0.02em;
528
- margin-top: 40px;
529
- line-height: var(--stl-ui-typography-line-height-headings);
530
- }
531
- .sl-heading-wrapper.level-h4 {
532
- font-size: var(--stl-ui-typography-text-h4);
533
- letter-spacing: -0.02em;
534
- margin-top: 32px;
535
- line-height: var(--stl-ui-typography-line-height-headings);
536
- }
537
- .sl-heading-wrapper.level-h5 {
538
- font-size: var(--stl-ui-typography-text-h5);
539
- letter-spacing: -0.02em;
540
- margin-top: 24px;
541
- line-height: var(--stl-ui-typography-line-height-headings);
542
- }
543
- .sl-heading-wrapper {
544
- --sl-anchor-icon-size: 0.8em;
545
- }
546
- /* TODO: replace with an icon that matches Stainless branding */
547
- .sl-anchor-link svg {
548
- margin-top: 0;
549
- }
550
- }
551
-
552
- /* TODO: remove these */
553
- .stl-ui-prose {
554
- /* Tab component */
555
- starlight-tabs {
556
- a {
557
- text-decoration: none;
558
- line-height: unset;
559
- color: var(--stl-ui-foreground);
560
-
561
- &[aria-selected='true'] {
562
- color: var(--stl-ui-foreground-accent);
563
- font-weight: normal;
564
- }
565
- }
566
-
567
- ol,
568
- ul {
569
- &:not(.stl-ui-not-prose *) {
570
- padding-left: 0;
571
- }
572
- }
573
-
574
- li:not(.stl-ui-not-prose *) {
575
- margin-bottom: -2px;
576
- &:not(:last-child) {
577
- margin-bottom: -2px;
578
- }
579
-
580
- a:first-child {
581
- display: flex;
582
- }
583
- }
584
- }
585
-
586
- /* Pagination Links */
587
-
588
- .pagination-links {
589
- a {
590
- color: var(--stl-ui-foreground);
591
- }
592
- }
593
-
594
- .starlight-aside {
595
- svg {
596
- margin-top: 0;
597
- }
598
- }
599
- }
600
-
601
- .stl-ui-button {
602
- --stl-ui-button-color: var(--stl-ui-inverse-foreground);
603
- --stl-ui-button-background-color: var(--stl-ui-inverse-background);
604
- --stl-ui-button-background-color-hover: color-mix(
605
- in oklch,
606
- var(--stl-ui-inverse-background) 90%,
607
- var(--stl-ui-background)
608
- );
609
-
610
- --stl-ui-button-border-color: transparent;
611
- --stl-ui-button-border-color-hover: transparent;
612
-
613
- --stl-ui-button-height: 32px;
614
- --stl-ui-button-padding: 8px 10px;
615
- --stl-ui-button-border-radius: var(--stl-ui-layout-border-radius-sml);
616
- --stl-ui-button-line-height: 150%;
617
- --stl-ui-button-font-weight: 500;
618
- --stl-ui-button-font-size: var(--stl-ui-type-scale-text-sm);
619
- --stl-ui-button-font-family: var(--stl-ui-typography-font);
620
-
621
- cursor: pointer;
622
- display: inline-flex;
623
- align-items: center;
624
- justify-content: center;
625
- gap: 2px;
626
- white-space: nowrap;
627
- flex-shrink: 0;
628
-
629
- height: var(--stl-ui-button-height);
630
- padding: var(--stl-ui-button-padding);
631
- border-radius: var(--stl-ui-button-border-radius);
632
- line-height: var(--stl-ui-button-line-height);
633
- font-weight: var(--stl-ui-button-font-weight);
634
- font-size: var(--stl-ui-button-font-size);
635
-
636
- border: 1px solid var(--stl-ui-button-border-color);
637
- font-family: var(--stl-ui-button-font-family);
638
-
639
- color: var(--stl-ui-button-color);
640
- background-color: var(--stl-ui-button-background-color);
641
-
642
- &:hover {
643
- background-color: var(--stl-ui-button-background-color-hover);
644
- border-color: var(--stl-ui-button-border-color-hover);
645
- }
646
- }
647
-
648
- /* --- COLOR VARIANTS --- */
649
- .stl-ui-button--accent {
650
- --stl-ui-button-color: var(--stl-ui-accent-foreground);
651
- --stl-ui-button-background-color: var(--stl-ui-accent-background);
652
- --stl-ui-button-background-color-hover: color-mix(
653
- in oklch,
654
- var(--stl-ui-accent-background) 90%,
655
- var(--stl-ui-inverse-foreground)
656
- );
657
- }
658
-
659
- .stl-ui-button--accent-muted {
660
- --stl-ui-button-color: var(--stl-ui-accent-muted-foreground);
661
- --stl-ui-button-background-color: var(--stl-ui-accent-muted-background);
662
- --stl-ui-button-background-color-hover: color-mix(
663
- in oklch,
664
- var(--stl-ui-accent-background) 10%,
665
- var(--stl-ui-inverse-foreground)
666
- );
667
- }
668
-
669
- .stl-ui-button--muted {
670
- --stl-ui-button-color: var(--stl-ui-foreground);
671
- --stl-ui-button-background-color: var(--stl-ui-muted-background);
672
- --stl-ui-button-background-color-hover: color-mix(
673
- in oklch,
674
- var(--stl-ui-foreground) 10%,
675
- var(--stl-ui-inverse-foreground)
676
- );
677
- }
678
-
679
- .stl-ui-button--outline {
680
- --stl-ui-button-color: var(--stl-ui-foreground);
681
- --stl-ui-button-background-color: var(--stl-ui-card-background);
682
- --stl-ui-button-background-color-hover: color-mix(
683
- in oklch,
684
- var(--stl-ui-foreground) 5%,
685
- var(--stl-ui-inverse-foreground)
686
- );
687
- --stl-ui-button-border-color: var(--stl-ui-border);
688
- --stl-ui-button-border-color-hover: var(--stl-ui-border-emphasis);
689
- }
690
-
691
- .stl-ui-button--ghost {
692
- --stl-ui-button-color: var(--stl-ui-foreground);
693
- --stl-ui-button-background-color: transparent;
694
- --stl-ui-button-background-color-hover: color-mix(
695
- in oklch,
696
- var(--stl-ui-foreground) 5%,
697
- var(--stl-ui-inverse-foreground)
698
- );
699
- }
700
-
701
- .stl-ui-button--success {
702
- --stl-ui-button-color: var(--stl-ui-swatch-gray-white);
703
- --stl-ui-button-background-color: var(--stl-ui-swatch-green-base);
704
- --stl-ui-button-background-color-hover: color-mix(
705
- in oklch,
706
- var(--stl-ui-swatch-green-base) 90%,
707
- var(--stl-ui-inverse-foreground)
708
- );
709
- }
710
-
711
- .stl-ui-button--destructive {
712
- --stl-ui-button-color: var(--stl-ui-swatch-gray-white);
713
- --stl-ui-button-background-color: var(--stl-ui-swatch-red-base);
714
- --stl-ui-button-background-color-hover: color-mix(
715
- in oklch,
716
- var(--stl-ui-swatch-red-base) 90%,
717
- var(--stl-ui-inverse-foreground)
718
- );
719
- }
720
-
721
- /* --- SIZE VARIANTS --- */
722
- .stl-ui-button--size-sm {
723
- --stl-ui-button-height: 24px;
724
- --stl-ui-button-padding: 0 6px;
725
- --stl-ui-button-border-radius: var(--stl-ui-layout-border-radius-xs);
726
- --stl-ui-button-line-height: 100%;
727
- --stl-ui-button-font-weight: 500;
728
- --stl-ui-button-font-size: var(--stl-ui-typography-text-body-xs);
729
- }
730
-
731
- .stl-ui-button--size-lg {
732
- --stl-ui-button-height: 40px;
733
- --stl-ui-button-padding: 8px 14px;
734
- --stl-ui-button-border-radius: var(--stl-ui-layout-border-radius);
735
- --stl-ui-button-line-height: 150%;
736
- --stl-ui-button-font-weight: 500;
737
- --stl-ui-button-font-size: var(--stl-ui-typography-text-body);
738
- }
739
-
740
- /* --- ICONS --- */
741
- .stl-ui-button__icon {
742
- flex-shrink: 0;
743
- display: flex;
744
- align-items: center;
745
- justify-content: center;
746
-
747
- svg {
748
- margin-top: 0;
749
- }
750
- }
751
-
752
- /* Left Icon */
753
- .stl-ui-button:has(.stl-ui-button__icon:first-child) .stl-ui-button__icon {
754
- margin-left: -4px;
755
- margin-right: 4px;
756
- }
757
-
758
- .stl-ui-button:has(.stl-ui-button__icon:last-child) .stl-ui-button__icon {
759
- /* Right Icon */
760
- margin-right: -4px;
761
- margin-left: 4px;
762
-
763
- /* Right & Left Icon */
764
- &:first-child {
765
- margin-left: -4px;
766
- margin-right: 4px;
767
- }
768
- }
769
-
770
- /* Only Icon */
771
- .stl-ui-button:not(:has(.stl-ui-button-label)):has(.stl-ui-button__icon:last-child):has(
772
- .stl-ui-button__icon:first-child
773
- ) {
774
- width: var(--stl-ui-button-height);
775
-
776
- .stl-ui-button__icon {
777
- margin-left: -4px;
778
- margin-right: -4px;
779
- }
780
- }
781
-
782
- /* --- LINKS --- */
783
-
784
- a.stl-ui-button {
785
- text-decoration: none;
786
- text-align: center;
787
- }
788
-
789
- .stl-ui-dropdown-button {
790
- --stl-ui-dropdown-button-color: var(--stl-ui-foreground);
791
- --stl-ui-dropdown-button-background-color: var(--stl-ui-card-background);
792
- --stl-ui-dropdown-button-border-color: var(--stl-ui-border);
793
- --stl-ui-dropdown-button-border-radius: var(--stl-ui-layout-border-radius-sml);
794
- --stl-ui-dropdown-button-font-size: var(--stl-ui-type-scale-text-sm);
795
-
796
- --stl-ui-dropdown-button-height: 32px;
797
- --stl-ui-dropdown-button-padding: 8px 10px;
798
- --stl-ui-dropdown-button-line-height: 100%;
799
- --stl-ui-dropdown-button-font-weight: 500;
800
-
801
- position: relative;
802
- display: inline-flex;
803
- align-items: center;
804
-
805
- background-color: var(--stl-ui-dropdown-button-background-color);
806
- border: 1px solid var(--stl-ui-dropdown-button-border-color);
807
- border-radius: var(--stl-ui-dropdown-button-border-radius);
808
- color: var(--stl-ui-dropdown-button-color);
809
- gap: 0;
810
- font-size: var(--stl-ui-dropdown-button-font-size);
811
-
812
- .stl-ui-dropdown-button__button {
813
- border: none;
814
- background: none;
815
- height: var(--stl-ui-dropdown-button-height);
816
- padding: var(--stl-ui-dropdown-button-padding);
817
- line-height: var(--stl-ui-dropdown-button-line-height);
818
- font-weight: var(--stl-ui-dropdown-button-font-weight);
819
- cursor: pointer;
820
- display: flex;
821
- align-items: center;
822
- justify-content: center;
823
-
824
- &:hover {
825
- background-color: oklch(from var(--stl-ui-foreground) l c h / 0.05);
826
- border-color: var(--stl-ui-border-emphasis);
827
- }
828
- }
829
-
830
- .stl-ui-dropdown-button--action {
831
- display: flex;
832
- align-items: center;
833
- gap: 8px;
834
-
835
- &:hover {
836
- background-color: oklch(from var(--stl-ui-foreground) l c h / 0.05);
837
- border-color: var(--stl-ui-border-emphasis);
838
- }
839
-
840
- &.disabled {
841
- cursor: not-allowed;
842
- background-color: oklch(from var(--stl-ui-foreground) l c h / 0.05);
843
- }
844
- }
845
-
846
- .stl-ui-dropdown-button__trigger {
847
- border-left: 1px solid var(--stl-ui-border);
848
- border-radius: 0;
849
-
850
- &:hover {
851
- background-color: oklch(from var(--stl-ui-foreground) l c h / 0.05);
852
- border-color: var(--stl-ui-border-emphasis);
853
- }
854
- }
855
-
856
- .stl-ui-dropdown-button__menu {
857
- --stl-ui-dropdown-button__menu-background-color: var(--stl-ui-card-background);
858
- --stl-ui-dropdown-button__menu-border-color: var(--stl-ui-border);
859
- --stl-ui-dropdown-button__menu-box-shadow: var(--stl-ui-shadow-md);
860
- --stl-ui-dropdown-button__menu-border-radius: var(--stl-ui-layout-border-radius-sml);
861
-
862
- background-color: var(--stl-ui-dropdown-button__menu-background-color);
863
- border: 1px solid var(--stl-ui-dropdown-button__menu-border-color);
864
- box-shadow: var(--stl-ui-dropdown-button__menu-box-shadow);
865
- border-radius: var(--stl-ui-dropdown-button__menu-border-radius);
866
-
867
- position: absolute;
868
- top: 100%;
869
- right: 0;
870
- margin-top: 4px;
871
- z-index: 1000;
872
- min-width: 100%;
873
- padding: 4px;
874
- display: none;
875
-
876
- &[data-state='open'] {
877
- display: block;
878
- }
879
- }
880
-
881
- .stl-ui-dropdown-button__menu-item {
882
- --stl-ui-dropdown-button__menu-item-border-radius: var(--stl-ui-dropdown-button-border-radius);
883
- --stl-ui-dropdown-button__menu-item-height: var(--stl-ui-dropdown-button-height);
884
- --stl-ui-dropdown-button__menu-item-line-height: var(--stl-ui-dropdown-button-line-height);
885
- --stl-ui-dropdown-button__menu-item-hover-background-color: oklch(
886
- from var(--stl-ui-foreground) l c h / 0.05
887
- );
888
-
889
- border-radius: var(--stl-ui-dropdown-button__menu-item-border-radius);
890
- height: var(--stl-ui-dropdown-button__menu-item-height);
891
- line-height: var(--stl-ui-dropdown-button__menu-item-line-height);
892
-
893
- padding: 8px;
894
- cursor: pointer;
895
- display: flex;
896
- align-items: center;
897
- justify-content: space-between;
898
- gap: 16px;
899
-
900
- &:hover {
901
- background-color: var(--stl-ui-dropdown-button__menu-item-hover-background-color);
902
- }
903
-
904
- .stl-ui-dropdown-button__menu-item-content {
905
- display: flex;
906
- align-items: center;
907
- gap: 8px;
908
- }
909
-
910
- .stl-ui-dropdown-button__menu-item-text {
911
- white-space: nowrap;
912
- }
913
-
914
- .stl-ui-dropdown-button__menu-item-text--subtle {
915
- color: var(--stl-ui-foreground-muted);
916
- }
917
-
918
- strong {
919
- color: var(--stl-ui-foreground);
920
- font-weight: 500;
921
- }
922
-
923
- .stl-ui-dropdown-button__menu-item-icon {
924
- display: flex;
925
- align-items: center;
926
- justify-content: center;
927
- }
928
-
929
- .stl-ui-dropdown-button__menu-item-external-link-icon {
930
- --stl-ui-dropdown-button__menu-item-external-link-icon-color: oklch(
931
- from var(--stl-ui-foreground) l c h / 0.25
932
- );
933
-
934
- svg {
935
- color: var(--stl-ui-dropdown-button__menu-item-external-link-icon-color);
936
- }
937
- }
938
- }
939
-
940
- hr {
941
- --stl-ui-dropdown-button__divider-height: 1px;
942
- --stl-ui-dropdown-button__divider-color: var(--stl-ui-border);
943
-
944
- height: var(--stl-ui-dropdown-button__divider-height);
945
- background-color: var(--stl-ui-dropdown-button__divider-color);
946
- border: none;
947
-
948
- margin: 4px 0;
949
- width: calc(100% + 8px);
950
- transform: translateX(-4px);
951
- }
952
- }
953
-
954
- .stl-ui-callout {
955
- --stl-ui-callout-background-color: var(--stl-ui-muted-background);
956
- --stl-ui-callout-border-color: var(--stl-ui-border);
957
- --stl-ui-callout-accent-color: var(--stl-ui-foreground-muted);
958
-
959
- border: 1px solid var(--stl-ui-callout-border-color);
960
- background-color: var(--stl-ui-callout-background-color);
961
- border-radius: var(--stl-ui-layout-border-radius);
962
- padding: 12px;
963
- line-height: var(--stl-ui-typography-line-height);
964
- font-weight: 400;
965
- font-size: var(--stl-ui-typography-text-body);
966
-
967
- display: flex;
968
- align-items: flex-start;
969
- gap: 8px;
970
- }
971
-
972
- .stl-ui-callout--info {
973
- --stl-ui-callout-background-color: var(--stl-ui-muted-background);
974
- --stl-ui-callout-border-color: var(--stl-ui-border);
975
- --stl-ui-callout-accent-color: var(--stl-ui-foreground-muted);
976
- }
977
-
978
- .stl-ui-callout--note {
979
- --stl-ui-callout-background-color: var(--stl-ui-swatch-blue-faint);
980
- --stl-ui-callout-border-color: var(--stl-ui-swatch-blue-muted);
981
- --stl-ui-callout-accent-color: var(--stl-ui-swatch-blue-base);
982
- }
983
-
984
- .stl-ui-callout--tip {
985
- --stl-ui-callout-background-color: var(--stl-ui-swatch-purple-faint);
986
- --stl-ui-callout-border-color: var(--stl-ui-swatch-purple-muted);
987
- --stl-ui-callout-accent-color: var(--stl-ui-swatch-purple-base);
988
- }
989
-
990
- .stl-ui-callout--success {
991
- --stl-ui-callout-background-color: var(--stl-ui-swatch-green-faint);
992
- --stl-ui-callout-border-color: var(--stl-ui-swatch-green-muted);
993
- --stl-ui-callout-accent-color: var(--stl-ui-swatch-green-base);
994
- }
995
-
996
- .stl-ui-callout--warning {
997
- --stl-ui-callout-background-color: var(--stl-ui-swatch-yellow-faint);
998
- --stl-ui-callout-border-color: var(--stl-ui-swatch-yellow-muted);
999
- --stl-ui-callout-accent-color: var(--stl-ui-swatch-yellow-base);
1000
- }
1001
-
1002
- .stl-ui-callout--danger {
1003
- --stl-ui-callout-background-color: var(--stl-ui-swatch-red-faint);
1004
- --stl-ui-callout-border-color: var(--stl-ui-swatch-red-muted);
1005
- --stl-ui-callout-accent-color: var(--stl-ui-swatch-red-base);
1006
- }
1007
-
1008
- .stl-ui-callout__icon {
1009
- color: var(--stl-ui-callout-accent-color);
1010
- flex-shrink: 0;
1011
- width: 1em;
1012
- height: 1em;
1013
- margin: calc((1lh - 1em) / 2);
1014
- }
1015
-
1016
- .stl-ui-callout__content {
1017
- flex: 1;
1018
- margin-top: 0;
1019
-
1020
- & > :first-child {
1021
- margin-top: 0;
1022
- }
1023
- }
1024
-
1025
- /* revert starlight details styles */
1026
- @layer starlight.content {
1027
- /* artificially increase specificity to outcompete selectors in the same layer whose styles we want to revert */
1028
- .stl-ui-prose .sl-markdown-content.sl-markdown-content.sl-markdown-content {
1029
- details,
1030
- summary,
1031
- summary::before,
1032
- summary::marker {
1033
- all: revert-layer;
1034
- }
1035
- }
1036
- }
1037
-
1038
- .stl-ui-accordion {
1039
- --stl-ui-accordion-padding: 12px;
1040
- --stl-ui-accordion-content-padding-bottom: 4px;
1041
- --stl-ui-accordion-marker-size: 1em;
1042
- --stl-ui-accordion-marker-margin: calc((1lh - var(--stl-ui-accordion-marker-size)) / 2);
1043
- --stl-ui-accordion-row-gap: 8px;
1044
- --stl-ui-accordion-summary-column-gap: 8px;
1045
- --stl-ui-accordion-border-radius: var(--stl-ui-layout-border-radius);
1046
- --stl-ui-accordion-hover-film-color: oklch(from var(--stl-ui-foreground) l c h / 0.03);
1047
- /* left inset to make content line up with summary content (after chevron) */
1048
- --stl-ui--internal--accordion-padding-start: calc(
1049
- var(--stl-ui-accordion-padding) + var(--stl-ui-accordion-marker-size) +
1050
- var(--stl-ui-accordion-marker-margin) * 2 + var(--stl-ui-accordion-summary-column-gap)
1051
- );
1052
-
1053
- background-color: var(--stl-ui-card-background);
1054
- border: 1px solid var(--stl-ui-border);
1055
- border-radius: var(--stl-ui-accordion-border-radius);
1056
- font-size: var(--stl-ui-typography-text-body);
1057
-
1058
- padding: var(--stl-ui-accordion-padding);
1059
- /* indent content to line up with left edge of summary content */
1060
- padding-inline-start: var(--stl-ui--internal--accordion-padding-start);
1061
-
1062
- & > .stl-ui-accordion__summary {
1063
- display: block;
1064
- list-style: none;
1065
-
1066
- /* summary extends to the edges of the element in order to increase click target */
1067
- padding: var(--stl-ui-accordion-padding);
1068
- padding-inline-start: var(--stl-ui--internal--accordion-padding-start);
1069
- margin: calc(-1 * var(--stl-ui-accordion-padding));
1070
- margin-inline-start: calc(-1 * var(--stl-ui--internal--accordion-padding-start));
1071
-
1072
- cursor: pointer;
1073
- font-weight: 500;
1074
-
1075
- border-radius: var(--stl-ui-accordion-border-radius);
1076
-
1077
- &::before {
1078
- content: '';
1079
- width: var(--stl-ui-accordion-marker-size);
1080
- height: var(--stl-ui-accordion-marker-size);
1081
- margin: var(--stl-ui-accordion-marker-margin);
1082
- background-color: currentColor;
1083
- display: block;
1084
- position: absolute;
1085
- --stl-ui-accordion--internal--marker-width: calc(
1086
- var(--stl-ui-accordion-marker-size) + var(--stl-ui-accordion-marker-margin) * 2
1087
- );
1088
- --stl-ui-accordion--internal--summary-marker-transform: translateX(
1089
- calc(
1090
- -1 * var(--stl-ui-accordion--internal--marker-width) - var(--stl-ui-accordion-summary-column-gap)
1091
- )
1092
- );
1093
- transform: var(--stl-ui-accordion--internal--summary-marker-transform);
1094
-
1095
- --lucide-chevron-right: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWNoZXZyb24tcmlnaHQtaWNvbiBsdWNpZGUtY2hldnJvbi1yaWdodCI+PHBhdGggZD0ibTkgMTggNi02LTYtNiIvPjwvc3ZnPg==');
1096
- mask-image: var(--lucide-chevron-right);
1097
- mask-size: contain;
1098
- mask-repeat: no-repeat;
1099
-
1100
- transition: transform 0.1s ease-out;
1101
- }
1102
-
1103
- & > :first-child {
1104
- margin-top: 0;
1105
- }
1106
- }
1107
-
1108
- &[open] {
1109
- border-color: var(--stl-ui-border-emphasis);
1110
- padding-bottom: calc(var(--stl-ui-accordion-padding) + var(--stl-ui-accordion-content-padding-bottom));
1111
-
1112
- & > .stl-ui-accordion__summary {
1113
- /* padding-bottom shouldn’t extend beyond the row gap while open, i.e. we shouldn’t be negative-margin-placing content overlapping summary */
1114
- --stl-ui--internal--summary-padding-bottom: min(
1115
- var(--stl-ui-accordion-padding),
1116
- var(--stl-ui-accordion-row-gap)
1117
- );
1118
- padding-bottom: var(--stl-ui--internal--summary-padding-bottom);
1119
- margin-bottom: calc(var(--stl-ui-accordion-row-gap) - var(--stl-ui--internal--summary-padding-bottom));
1120
- border-bottom-left-radius: 0;
1121
- border-bottom-right-radius: 0;
1122
-
1123
- &::before {
1124
- transform: var(--stl-ui-accordion--internal--summary-marker-transform) rotate(90deg);
1125
- }
1126
- }
1127
- }
1128
-
1129
- &:has(> .stl-ui-accordion__summary:hover) {
1130
- background-image: linear-gradient(
1131
- to bottom,
1132
- var(--stl-ui-accordion-hover-film-color),
1133
- var(--stl-ui-accordion-hover-film-color)
1134
- );
1135
- border-color: var(--stl-ui-border-emphasis);
1136
- }
1137
-
1138
- & > .stl-ui-accordion__summary + * {
1139
- margin-top: 0;
1140
- }
1141
- }
1142
-
1143
- .stl-ui-accordion-group {
1144
- & > .stl-ui-accordion:has(+ .stl-ui-accordion) {
1145
- border-bottom-left-radius: 0;
1146
- border-bottom-right-radius: 0;
1147
- & > .stl-ui-accordion__summary {
1148
- border-bottom-left-radius: 0;
1149
- border-bottom-right-radius: 0;
1150
- }
1151
- }
1152
-
1153
- & > .stl-ui-accordion + .stl-ui-accordion {
1154
- margin-top: 0;
1155
- border-top-width: 0;
1156
- border-top-left-radius: 0;
1157
- border-top-right-radius: 0;
1158
-
1159
- & > .stl-ui-accordion__summary {
1160
- border-top-left-radius: 0;
1161
- border-top-right-radius: 0;
1162
- }
1163
- }
1164
-
1165
- .stl-ui-accordion:not(:is([open], :hover)) + .stl-ui-accordion:is([open], :hover) {
1166
- border-top-width: 1px;
1167
- margin-top: -1px;
1168
- }
1169
- }
1170
-
1171
-
1172
-