@vegastack/design-tokens 0.1.0 → 0.2.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.
package/dist/tokens.d.ts CHANGED
@@ -22,6 +22,7 @@ declare const tokens: {
22
22
  readonly "destructive-foreground": "oklch(0.985 0.003 75)";
23
23
  readonly "destructive-subtle": "oklch(0.949 0.022 24)";
24
24
  readonly "destructive-text": "oklch(0.521 0.2 25)";
25
+ readonly "destructive-border": "oklch(0.505 0.213 27.52)";
25
26
  readonly success: "oklch(0.5 0.16 150)";
26
27
  readonly "success-foreground": "oklch(0.985 0.003 75)";
27
28
  readonly "success-subtle": "oklch(0.951 0.051 150)";
@@ -47,6 +48,36 @@ declare const tokens: {
47
48
  readonly "chart-7": "oklch(0.6 0.127 104.2)";
48
49
  readonly "chart-8": "oklch(0.531 0.182 256)";
49
50
  readonly brand: "oklch(0.6 0.17 148)";
51
+ readonly "tag-blue": "oklch(0.6 0.16 256)";
52
+ readonly "tag-blue-subtle": "oklch(0.955 0.02 256)";
53
+ readonly "tag-blue-text": "oklch(0.51 0.15 256)";
54
+ readonly "tag-cyan": "oklch(0.6 0.11 226)";
55
+ readonly "tag-cyan-subtle": "oklch(0.955 0.028 226)";
56
+ readonly "tag-cyan-text": "oklch(0.51 0.09 226)";
57
+ readonly "tag-green": "oklch(0.6 0.16 150)";
58
+ readonly "tag-green-subtle": "oklch(0.955 0.028 150)";
59
+ readonly "tag-green-text": "oklch(0.51 0.14 150)";
60
+ readonly "tag-lime": "oklch(0.6 0.13 117)";
61
+ readonly "tag-lime-subtle": "oklch(0.955 0.028 117)";
62
+ readonly "tag-lime-text": "oklch(0.51 0.11 117)";
63
+ readonly "tag-yellow": "oklch(0.6 0.12 86)";
64
+ readonly "tag-yellow-subtle": "oklch(0.955 0.028 86)";
65
+ readonly "tag-yellow-text": "oklch(0.51 0.1 86)";
66
+ readonly "tag-orange": "oklch(0.6 0.15 52)";
67
+ readonly "tag-orange-subtle": "oklch(0.955 0.02 52)";
68
+ readonly "tag-orange-text": "oklch(0.51 0.13 52)";
69
+ readonly "tag-red": "oklch(0.6 0.16 25)";
70
+ readonly "tag-red-subtle": "oklch(0.955 0.02 25)";
71
+ readonly "tag-red-text": "oklch(0.51 0.15 25)";
72
+ readonly "tag-pink": "oklch(0.6 0.16 356)";
73
+ readonly "tag-pink-subtle": "oklch(0.955 0.02 356)";
74
+ readonly "tag-pink-text": "oklch(0.51 0.15 356)";
75
+ readonly "tag-magenta": "oklch(0.6 0.16 323)";
76
+ readonly "tag-magenta-subtle": "oklch(0.955 0.028 323)";
77
+ readonly "tag-magenta-text": "oklch(0.51 0.15 323)";
78
+ readonly "tag-purple": "oklch(0.6 0.16 295)";
79
+ readonly "tag-purple-subtle": "oklch(0.955 0.02 295)";
80
+ readonly "tag-purple-text": "oklch(0.51 0.15 295)";
50
81
  readonly sidebar: "oklch(0.985 0.003 75)";
51
82
  readonly "sidebar-foreground": "oklch(0.269 0.003 75)";
52
83
  readonly "sidebar-primary": "oklch(0.145 0.003 75)";
@@ -73,6 +104,8 @@ declare const tokens: {
73
104
  readonly "sidebar-width": "15rem";
74
105
  readonly "sidebar-width-icon": "3rem";
75
106
  readonly "shadow-overlay": "0 4px 14px -4px oklch(0.13 0.002 75 / 0.1), 0 2px 4px -2px oklch(0.13 0.002 75 / 0.06)";
107
+ readonly "shadow-lit": "inset 0 1px 0 0 oklch(1 0 0 / 0.12), 0 1px 2px 0 oklch(0.13 0.002 75 / 0.18), 0 2px 6px -2px oklch(0.13 0.002 75 / 0.14)";
108
+ readonly "effect-blur-glass": "8px";
76
109
  readonly "z-raised": 10;
77
110
  readonly "z-overlay": 50;
78
111
  readonly "opacity-dim": "50%";
@@ -208,13 +241,19 @@ declare const tokens: {
208
241
  readonly fontSize: "0.875rem";
209
242
  readonly lineHeight: "1.25rem";
210
243
  readonly fontWeight: "500";
211
- readonly letterSpacing: "0em";
244
+ readonly letterSpacing: "-0.01em";
245
+ };
246
+ readonly "text-strong": {
247
+ readonly fontSize: "0.875rem";
248
+ readonly lineHeight: "1.25rem";
249
+ readonly fontWeight: "600";
250
+ readonly letterSpacing: "-0.01em";
212
251
  };
213
252
  readonly "text-label-sm": {
214
253
  readonly fontSize: "0.75rem";
215
254
  readonly lineHeight: "1rem";
216
255
  readonly fontWeight: "500";
217
- readonly letterSpacing: "0em";
256
+ readonly letterSpacing: "-0.01em";
218
257
  };
219
258
  readonly "text-code": {
220
259
  readonly fontSize: "0.8125rem";
@@ -283,6 +322,7 @@ declare const tokens: {
283
322
  readonly "destructive-foreground": "oklch(0.985 0.003 75)";
284
323
  readonly "destructive-subtle": "oklch(0.275 0.07 25)";
285
324
  readonly "destructive-text": "oklch(0.72 0.16 25)";
325
+ readonly "destructive-border": "oklch(0.72 0.16 25)";
286
326
  readonly success: "oklch(0.5 0.16 150)";
287
327
  readonly "success-foreground": "oklch(0.985 0.003 75)";
288
328
  readonly "success-subtle": "oklch(0.276 0.061 150)";
@@ -308,6 +348,36 @@ declare const tokens: {
308
348
  readonly "chart-7": "oklch(0.72 0.15 103.9)";
309
349
  readonly "chart-8": "oklch(0.72 0.13 256)";
310
350
  readonly brand: "oklch(0.86 0.21 148)";
351
+ readonly "tag-blue": "oklch(0.72 0.14 256)";
352
+ readonly "tag-blue-subtle": "oklch(0.275 0.05 256)";
353
+ readonly "tag-blue-text": "oklch(0.75 0.13 256)";
354
+ readonly "tag-cyan": "oklch(0.72 0.13 226)";
355
+ readonly "tag-cyan-subtle": "oklch(0.275 0.05 226)";
356
+ readonly "tag-cyan-text": "oklch(0.75 0.13 226)";
357
+ readonly "tag-green": "oklch(0.72 0.15 150)";
358
+ readonly "tag-green-subtle": "oklch(0.275 0.05 150)";
359
+ readonly "tag-green-text": "oklch(0.75 0.13 150)";
360
+ readonly "tag-lime": "oklch(0.72 0.15 117)";
361
+ readonly "tag-lime-subtle": "oklch(0.275 0.05 117)";
362
+ readonly "tag-lime-text": "oklch(0.75 0.13 117)";
363
+ readonly "tag-yellow": "oklch(0.72 0.14 86)";
364
+ readonly "tag-yellow-subtle": "oklch(0.275 0.05 86)";
365
+ readonly "tag-yellow-text": "oklch(0.75 0.13 86)";
366
+ readonly "tag-orange": "oklch(0.72 0.15 52)";
367
+ readonly "tag-orange-subtle": "oklch(0.275 0.05 52)";
368
+ readonly "tag-orange-text": "oklch(0.75 0.13 52)";
369
+ readonly "tag-red": "oklch(0.72 0.15 25)";
370
+ readonly "tag-red-subtle": "oklch(0.275 0.05 25)";
371
+ readonly "tag-red-text": "oklch(0.75 0.13 25)";
372
+ readonly "tag-pink": "oklch(0.72 0.15 356)";
373
+ readonly "tag-pink-subtle": "oklch(0.275 0.05 356)";
374
+ readonly "tag-pink-text": "oklch(0.75 0.13 356)";
375
+ readonly "tag-magenta": "oklch(0.72 0.15 323)";
376
+ readonly "tag-magenta-subtle": "oklch(0.275 0.05 323)";
377
+ readonly "tag-magenta-text": "oklch(0.75 0.13 323)";
378
+ readonly "tag-purple": "oklch(0.72 0.15 295)";
379
+ readonly "tag-purple-subtle": "oklch(0.275 0.05 295)";
380
+ readonly "tag-purple-text": "oklch(0.75 0.13 295)";
311
381
  readonly sidebar: "oklch(0.145 0.003 75)";
312
382
  readonly "sidebar-foreground": "oklch(0.87 0.003 75)";
313
383
  readonly "sidebar-primary": "oklch(0.922 0.003 75)";
@@ -333,7 +403,9 @@ declare const tokens: {
333
403
  readonly "icon-feature": "1.5rem";
334
404
  readonly "sidebar-width": "15rem";
335
405
  readonly "sidebar-width-icon": "3rem";
336
- readonly "shadow-overlay": "0 4px 14px -4px oklch(0.13 0.002 75 / 0.1), 0 2px 4px -2px oklch(0.13 0.002 75 / 0.06)";
406
+ readonly "shadow-overlay": "0 8px 28px -6px oklch(0 0 0 / 0.48), 0 2px 8px -2px oklch(0 0 0 / 0.4)";
407
+ readonly "shadow-lit": "inset 0 1px 0 0 oklch(1 0 0 / 0.35), 0 2px 6px -2px oklch(0 0 0 / 0.5)";
408
+ readonly "effect-blur-glass": "8px";
337
409
  readonly "z-raised": 10;
338
410
  readonly "z-overlay": 50;
339
411
  readonly "opacity-dim": "50%";
@@ -469,13 +541,19 @@ declare const tokens: {
469
541
  readonly fontSize: "0.875rem";
470
542
  readonly lineHeight: "1.25rem";
471
543
  readonly fontWeight: "500";
472
- readonly letterSpacing: "0em";
544
+ readonly letterSpacing: "-0.01em";
545
+ };
546
+ readonly "text-strong": {
547
+ readonly fontSize: "0.875rem";
548
+ readonly lineHeight: "1.25rem";
549
+ readonly fontWeight: "600";
550
+ readonly letterSpacing: "-0.01em";
473
551
  };
474
552
  readonly "text-label-sm": {
475
553
  readonly fontSize: "0.75rem";
476
554
  readonly lineHeight: "1rem";
477
555
  readonly fontWeight: "500";
478
- readonly letterSpacing: "0em";
556
+ readonly letterSpacing: "-0.01em";
479
557
  };
480
558
  readonly "text-code": {
481
559
  readonly fontSize: "0.8125rem";
package/dist/tokens.js CHANGED
@@ -23,6 +23,7 @@ var tokens = {
23
23
  "destructive-foreground": "oklch(0.985 0.003 75)",
24
24
  "destructive-subtle": "oklch(0.949 0.022 24)",
25
25
  "destructive-text": "oklch(0.521 0.2 25)",
26
+ "destructive-border": "oklch(0.505 0.213 27.52)",
26
27
  "success": "oklch(0.5 0.16 150)",
27
28
  "success-foreground": "oklch(0.985 0.003 75)",
28
29
  "success-subtle": "oklch(0.951 0.051 150)",
@@ -48,6 +49,36 @@ var tokens = {
48
49
  "chart-7": "oklch(0.6 0.127 104.2)",
49
50
  "chart-8": "oklch(0.531 0.182 256)",
50
51
  "brand": "oklch(0.6 0.17 148)",
52
+ "tag-blue": "oklch(0.6 0.16 256)",
53
+ "tag-blue-subtle": "oklch(0.955 0.02 256)",
54
+ "tag-blue-text": "oklch(0.51 0.15 256)",
55
+ "tag-cyan": "oklch(0.6 0.11 226)",
56
+ "tag-cyan-subtle": "oklch(0.955 0.028 226)",
57
+ "tag-cyan-text": "oklch(0.51 0.09 226)",
58
+ "tag-green": "oklch(0.6 0.16 150)",
59
+ "tag-green-subtle": "oklch(0.955 0.028 150)",
60
+ "tag-green-text": "oklch(0.51 0.14 150)",
61
+ "tag-lime": "oklch(0.6 0.13 117)",
62
+ "tag-lime-subtle": "oklch(0.955 0.028 117)",
63
+ "tag-lime-text": "oklch(0.51 0.11 117)",
64
+ "tag-yellow": "oklch(0.6 0.12 86)",
65
+ "tag-yellow-subtle": "oklch(0.955 0.028 86)",
66
+ "tag-yellow-text": "oklch(0.51 0.1 86)",
67
+ "tag-orange": "oklch(0.6 0.15 52)",
68
+ "tag-orange-subtle": "oklch(0.955 0.02 52)",
69
+ "tag-orange-text": "oklch(0.51 0.13 52)",
70
+ "tag-red": "oklch(0.6 0.16 25)",
71
+ "tag-red-subtle": "oklch(0.955 0.02 25)",
72
+ "tag-red-text": "oklch(0.51 0.15 25)",
73
+ "tag-pink": "oklch(0.6 0.16 356)",
74
+ "tag-pink-subtle": "oklch(0.955 0.02 356)",
75
+ "tag-pink-text": "oklch(0.51 0.15 356)",
76
+ "tag-magenta": "oklch(0.6 0.16 323)",
77
+ "tag-magenta-subtle": "oklch(0.955 0.028 323)",
78
+ "tag-magenta-text": "oklch(0.51 0.15 323)",
79
+ "tag-purple": "oklch(0.6 0.16 295)",
80
+ "tag-purple-subtle": "oklch(0.955 0.02 295)",
81
+ "tag-purple-text": "oklch(0.51 0.15 295)",
51
82
  "sidebar": "oklch(0.985 0.003 75)",
52
83
  "sidebar-foreground": "oklch(0.269 0.003 75)",
53
84
  "sidebar-primary": "oklch(0.145 0.003 75)",
@@ -74,6 +105,8 @@ var tokens = {
74
105
  "sidebar-width": "15rem",
75
106
  "sidebar-width-icon": "3rem",
76
107
  "shadow-overlay": "0 4px 14px -4px oklch(0.13 0.002 75 / 0.1), 0 2px 4px -2px oklch(0.13 0.002 75 / 0.06)",
108
+ "shadow-lit": "inset 0 1px 0 0 oklch(1 0 0 / 0.12), 0 1px 2px 0 oklch(0.13 0.002 75 / 0.18), 0 2px 6px -2px oklch(0.13 0.002 75 / 0.14)",
109
+ "effect-blur-glass": "8px",
77
110
  "z-raised": 10,
78
111
  "z-overlay": 50,
79
112
  "opacity-dim": "50%",
@@ -209,13 +242,19 @@ var tokens = {
209
242
  "fontSize": "0.875rem",
210
243
  "lineHeight": "1.25rem",
211
244
  "fontWeight": "500",
212
- "letterSpacing": "0em"
245
+ "letterSpacing": "-0.01em"
246
+ },
247
+ "text-strong": {
248
+ "fontSize": "0.875rem",
249
+ "lineHeight": "1.25rem",
250
+ "fontWeight": "600",
251
+ "letterSpacing": "-0.01em"
213
252
  },
214
253
  "text-label-sm": {
215
254
  "fontSize": "0.75rem",
216
255
  "lineHeight": "1rem",
217
256
  "fontWeight": "500",
218
- "letterSpacing": "0em"
257
+ "letterSpacing": "-0.01em"
219
258
  },
220
259
  "text-code": {
221
260
  "fontSize": "0.8125rem",
@@ -284,6 +323,7 @@ var tokens = {
284
323
  "destructive-foreground": "oklch(0.985 0.003 75)",
285
324
  "destructive-subtle": "oklch(0.275 0.07 25)",
286
325
  "destructive-text": "oklch(0.72 0.16 25)",
326
+ "destructive-border": "oklch(0.72 0.16 25)",
287
327
  "success": "oklch(0.5 0.16 150)",
288
328
  "success-foreground": "oklch(0.985 0.003 75)",
289
329
  "success-subtle": "oklch(0.276 0.061 150)",
@@ -309,6 +349,36 @@ var tokens = {
309
349
  "chart-7": "oklch(0.72 0.15 103.9)",
310
350
  "chart-8": "oklch(0.72 0.13 256)",
311
351
  "brand": "oklch(0.86 0.21 148)",
352
+ "tag-blue": "oklch(0.72 0.14 256)",
353
+ "tag-blue-subtle": "oklch(0.275 0.05 256)",
354
+ "tag-blue-text": "oklch(0.75 0.13 256)",
355
+ "tag-cyan": "oklch(0.72 0.13 226)",
356
+ "tag-cyan-subtle": "oklch(0.275 0.05 226)",
357
+ "tag-cyan-text": "oklch(0.75 0.13 226)",
358
+ "tag-green": "oklch(0.72 0.15 150)",
359
+ "tag-green-subtle": "oklch(0.275 0.05 150)",
360
+ "tag-green-text": "oklch(0.75 0.13 150)",
361
+ "tag-lime": "oklch(0.72 0.15 117)",
362
+ "tag-lime-subtle": "oklch(0.275 0.05 117)",
363
+ "tag-lime-text": "oklch(0.75 0.13 117)",
364
+ "tag-yellow": "oklch(0.72 0.14 86)",
365
+ "tag-yellow-subtle": "oklch(0.275 0.05 86)",
366
+ "tag-yellow-text": "oklch(0.75 0.13 86)",
367
+ "tag-orange": "oklch(0.72 0.15 52)",
368
+ "tag-orange-subtle": "oklch(0.275 0.05 52)",
369
+ "tag-orange-text": "oklch(0.75 0.13 52)",
370
+ "tag-red": "oklch(0.72 0.15 25)",
371
+ "tag-red-subtle": "oklch(0.275 0.05 25)",
372
+ "tag-red-text": "oklch(0.75 0.13 25)",
373
+ "tag-pink": "oklch(0.72 0.15 356)",
374
+ "tag-pink-subtle": "oklch(0.275 0.05 356)",
375
+ "tag-pink-text": "oklch(0.75 0.13 356)",
376
+ "tag-magenta": "oklch(0.72 0.15 323)",
377
+ "tag-magenta-subtle": "oklch(0.275 0.05 323)",
378
+ "tag-magenta-text": "oklch(0.75 0.13 323)",
379
+ "tag-purple": "oklch(0.72 0.15 295)",
380
+ "tag-purple-subtle": "oklch(0.275 0.05 295)",
381
+ "tag-purple-text": "oklch(0.75 0.13 295)",
312
382
  "sidebar": "oklch(0.145 0.003 75)",
313
383
  "sidebar-foreground": "oklch(0.87 0.003 75)",
314
384
  "sidebar-primary": "oklch(0.922 0.003 75)",
@@ -334,7 +404,9 @@ var tokens = {
334
404
  "icon-feature": "1.5rem",
335
405
  "sidebar-width": "15rem",
336
406
  "sidebar-width-icon": "3rem",
337
- "shadow-overlay": "0 4px 14px -4px oklch(0.13 0.002 75 / 0.1), 0 2px 4px -2px oklch(0.13 0.002 75 / 0.06)",
407
+ "shadow-overlay": "0 8px 28px -6px oklch(0 0 0 / 0.48), 0 2px 8px -2px oklch(0 0 0 / 0.4)",
408
+ "shadow-lit": "inset 0 1px 0 0 oklch(1 0 0 / 0.35), 0 2px 6px -2px oklch(0 0 0 / 0.5)",
409
+ "effect-blur-glass": "8px",
338
410
  "z-raised": 10,
339
411
  "z-overlay": 50,
340
412
  "opacity-dim": "50%",
@@ -470,13 +542,19 @@ var tokens = {
470
542
  "fontSize": "0.875rem",
471
543
  "lineHeight": "1.25rem",
472
544
  "fontWeight": "500",
473
- "letterSpacing": "0em"
545
+ "letterSpacing": "-0.01em"
546
+ },
547
+ "text-strong": {
548
+ "fontSize": "0.875rem",
549
+ "lineHeight": "1.25rem",
550
+ "fontWeight": "600",
551
+ "letterSpacing": "-0.01em"
474
552
  },
475
553
  "text-label-sm": {
476
554
  "fontSize": "0.75rem",
477
555
  "lineHeight": "1rem",
478
556
  "fontWeight": "500",
479
- "letterSpacing": "0em"
557
+ "letterSpacing": "-0.01em"
480
558
  },
481
559
  "text-code": {
482
560
  "fontSize": "0.8125rem",
package/dist/tokens.json CHANGED
@@ -22,6 +22,7 @@
22
22
  "destructive-foreground": "oklch(0.985 0.003 75)",
23
23
  "destructive-subtle": "oklch(0.949 0.022 24)",
24
24
  "destructive-text": "oklch(0.521 0.2 25)",
25
+ "destructive-border": "oklch(0.505 0.213 27.52)",
25
26
  "success": "oklch(0.5 0.16 150)",
26
27
  "success-foreground": "oklch(0.985 0.003 75)",
27
28
  "success-subtle": "oklch(0.951 0.051 150)",
@@ -47,6 +48,36 @@
47
48
  "chart-7": "oklch(0.6 0.127 104.2)",
48
49
  "chart-8": "oklch(0.531 0.182 256)",
49
50
  "brand": "oklch(0.6 0.17 148)",
51
+ "tag-blue": "oklch(0.6 0.16 256)",
52
+ "tag-blue-subtle": "oklch(0.955 0.02 256)",
53
+ "tag-blue-text": "oklch(0.51 0.15 256)",
54
+ "tag-cyan": "oklch(0.6 0.11 226)",
55
+ "tag-cyan-subtle": "oklch(0.955 0.028 226)",
56
+ "tag-cyan-text": "oklch(0.51 0.09 226)",
57
+ "tag-green": "oklch(0.6 0.16 150)",
58
+ "tag-green-subtle": "oklch(0.955 0.028 150)",
59
+ "tag-green-text": "oklch(0.51 0.14 150)",
60
+ "tag-lime": "oklch(0.6 0.13 117)",
61
+ "tag-lime-subtle": "oklch(0.955 0.028 117)",
62
+ "tag-lime-text": "oklch(0.51 0.11 117)",
63
+ "tag-yellow": "oklch(0.6 0.12 86)",
64
+ "tag-yellow-subtle": "oklch(0.955 0.028 86)",
65
+ "tag-yellow-text": "oklch(0.51 0.1 86)",
66
+ "tag-orange": "oklch(0.6 0.15 52)",
67
+ "tag-orange-subtle": "oklch(0.955 0.02 52)",
68
+ "tag-orange-text": "oklch(0.51 0.13 52)",
69
+ "tag-red": "oklch(0.6 0.16 25)",
70
+ "tag-red-subtle": "oklch(0.955 0.02 25)",
71
+ "tag-red-text": "oklch(0.51 0.15 25)",
72
+ "tag-pink": "oklch(0.6 0.16 356)",
73
+ "tag-pink-subtle": "oklch(0.955 0.02 356)",
74
+ "tag-pink-text": "oklch(0.51 0.15 356)",
75
+ "tag-magenta": "oklch(0.6 0.16 323)",
76
+ "tag-magenta-subtle": "oklch(0.955 0.028 323)",
77
+ "tag-magenta-text": "oklch(0.51 0.15 323)",
78
+ "tag-purple": "oklch(0.6 0.16 295)",
79
+ "tag-purple-subtle": "oklch(0.955 0.02 295)",
80
+ "tag-purple-text": "oklch(0.51 0.15 295)",
50
81
  "sidebar": "oklch(0.985 0.003 75)",
51
82
  "sidebar-foreground": "oklch(0.269 0.003 75)",
52
83
  "sidebar-primary": "oklch(0.145 0.003 75)",
@@ -73,6 +104,8 @@
73
104
  "sidebar-width": "15rem",
74
105
  "sidebar-width-icon": "3rem",
75
106
  "shadow-overlay": "0 4px 14px -4px oklch(0.13 0.002 75 / 0.1), 0 2px 4px -2px oklch(0.13 0.002 75 / 0.06)",
107
+ "shadow-lit": "inset 0 1px 0 0 oklch(1 0 0 / 0.12), 0 1px 2px 0 oklch(0.13 0.002 75 / 0.18), 0 2px 6px -2px oklch(0.13 0.002 75 / 0.14)",
108
+ "effect-blur-glass": "8px",
76
109
  "z-raised": 10,
77
110
  "z-overlay": 50,
78
111
  "opacity-dim": "50%",
@@ -208,13 +241,19 @@
208
241
  "fontSize": "0.875rem",
209
242
  "lineHeight": "1.25rem",
210
243
  "fontWeight": "500",
211
- "letterSpacing": "0em"
244
+ "letterSpacing": "-0.01em"
245
+ },
246
+ "text-strong": {
247
+ "fontSize": "0.875rem",
248
+ "lineHeight": "1.25rem",
249
+ "fontWeight": "600",
250
+ "letterSpacing": "-0.01em"
212
251
  },
213
252
  "text-label-sm": {
214
253
  "fontSize": "0.75rem",
215
254
  "lineHeight": "1rem",
216
255
  "fontWeight": "500",
217
- "letterSpacing": "0em"
256
+ "letterSpacing": "-0.01em"
218
257
  },
219
258
  "text-code": {
220
259
  "fontSize": "0.8125rem",
@@ -283,6 +322,7 @@
283
322
  "destructive-foreground": "oklch(0.985 0.003 75)",
284
323
  "destructive-subtle": "oklch(0.275 0.07 25)",
285
324
  "destructive-text": "oklch(0.72 0.16 25)",
325
+ "destructive-border": "oklch(0.72 0.16 25)",
286
326
  "success": "oklch(0.5 0.16 150)",
287
327
  "success-foreground": "oklch(0.985 0.003 75)",
288
328
  "success-subtle": "oklch(0.276 0.061 150)",
@@ -308,6 +348,36 @@
308
348
  "chart-7": "oklch(0.72 0.15 103.9)",
309
349
  "chart-8": "oklch(0.72 0.13 256)",
310
350
  "brand": "oklch(0.86 0.21 148)",
351
+ "tag-blue": "oklch(0.72 0.14 256)",
352
+ "tag-blue-subtle": "oklch(0.275 0.05 256)",
353
+ "tag-blue-text": "oklch(0.75 0.13 256)",
354
+ "tag-cyan": "oklch(0.72 0.13 226)",
355
+ "tag-cyan-subtle": "oklch(0.275 0.05 226)",
356
+ "tag-cyan-text": "oklch(0.75 0.13 226)",
357
+ "tag-green": "oklch(0.72 0.15 150)",
358
+ "tag-green-subtle": "oklch(0.275 0.05 150)",
359
+ "tag-green-text": "oklch(0.75 0.13 150)",
360
+ "tag-lime": "oklch(0.72 0.15 117)",
361
+ "tag-lime-subtle": "oklch(0.275 0.05 117)",
362
+ "tag-lime-text": "oklch(0.75 0.13 117)",
363
+ "tag-yellow": "oklch(0.72 0.14 86)",
364
+ "tag-yellow-subtle": "oklch(0.275 0.05 86)",
365
+ "tag-yellow-text": "oklch(0.75 0.13 86)",
366
+ "tag-orange": "oklch(0.72 0.15 52)",
367
+ "tag-orange-subtle": "oklch(0.275 0.05 52)",
368
+ "tag-orange-text": "oklch(0.75 0.13 52)",
369
+ "tag-red": "oklch(0.72 0.15 25)",
370
+ "tag-red-subtle": "oklch(0.275 0.05 25)",
371
+ "tag-red-text": "oklch(0.75 0.13 25)",
372
+ "tag-pink": "oklch(0.72 0.15 356)",
373
+ "tag-pink-subtle": "oklch(0.275 0.05 356)",
374
+ "tag-pink-text": "oklch(0.75 0.13 356)",
375
+ "tag-magenta": "oklch(0.72 0.15 323)",
376
+ "tag-magenta-subtle": "oklch(0.275 0.05 323)",
377
+ "tag-magenta-text": "oklch(0.75 0.13 323)",
378
+ "tag-purple": "oklch(0.72 0.15 295)",
379
+ "tag-purple-subtle": "oklch(0.275 0.05 295)",
380
+ "tag-purple-text": "oklch(0.75 0.13 295)",
311
381
  "sidebar": "oklch(0.145 0.003 75)",
312
382
  "sidebar-foreground": "oklch(0.87 0.003 75)",
313
383
  "sidebar-primary": "oklch(0.922 0.003 75)",
@@ -333,7 +403,9 @@
333
403
  "icon-feature": "1.5rem",
334
404
  "sidebar-width": "15rem",
335
405
  "sidebar-width-icon": "3rem",
336
- "shadow-overlay": "0 4px 14px -4px oklch(0.13 0.002 75 / 0.1), 0 2px 4px -2px oklch(0.13 0.002 75 / 0.06)",
406
+ "shadow-overlay": "0 8px 28px -6px oklch(0 0 0 / 0.48), 0 2px 8px -2px oklch(0 0 0 / 0.4)",
407
+ "shadow-lit": "inset 0 1px 0 0 oklch(1 0 0 / 0.35), 0 2px 6px -2px oklch(0 0 0 / 0.5)",
408
+ "effect-blur-glass": "8px",
337
409
  "z-raised": 10,
338
410
  "z-overlay": 50,
339
411
  "opacity-dim": "50%",
@@ -469,13 +541,19 @@
469
541
  "fontSize": "0.875rem",
470
542
  "lineHeight": "1.25rem",
471
543
  "fontWeight": "500",
472
- "letterSpacing": "0em"
544
+ "letterSpacing": "-0.01em"
545
+ },
546
+ "text-strong": {
547
+ "fontSize": "0.875rem",
548
+ "lineHeight": "1.25rem",
549
+ "fontWeight": "600",
550
+ "letterSpacing": "-0.01em"
473
551
  },
474
552
  "text-label-sm": {
475
553
  "fontSize": "0.75rem",
476
554
  "lineHeight": "1rem",
477
555
  "fontWeight": "500",
478
- "letterSpacing": "0em"
556
+ "letterSpacing": "-0.01em"
479
557
  },
480
558
  "text-code": {
481
559
  "fontSize": "0.8125rem",
@@ -51,12 +51,18 @@
51
51
  --scroll-fade-t: 0px;
52
52
  }
53
53
  to {
54
- --scroll-fade-t: var(--_scroll-fade-size-t, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))));
54
+ --scroll-fade-t: var(
55
+ --_scroll-fade-size-t,
56
+ var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10)))
57
+ );
55
58
  }
56
59
  }
57
60
  @keyframes scroll-fade-reveal-b {
58
61
  from {
59
- --scroll-fade-b: var(--_scroll-fade-size-b, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))));
62
+ --scroll-fade-b: var(
63
+ --_scroll-fade-size-b,
64
+ var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10)))
65
+ );
60
66
  }
61
67
  to {
62
68
  --scroll-fade-b: 0px;
@@ -67,12 +73,18 @@
67
73
  --scroll-fade-s: 0px;
68
74
  }
69
75
  to {
70
- --scroll-fade-s: var(--_scroll-fade-size-s, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))));
76
+ --scroll-fade-s: var(
77
+ --_scroll-fade-size-s,
78
+ var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10)))
79
+ );
71
80
  }
72
81
  }
73
82
  @keyframes scroll-fade-reveal-e {
74
83
  from {
75
- --scroll-fade-e: var(--_scroll-fade-size-e, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))));
84
+ --scroll-fade-e: var(
85
+ --_scroll-fade-size-e,
86
+ var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10)))
87
+ );
76
88
  }
77
89
  to {
78
90
  --scroll-fade-e: 0px;
@@ -553,7 +565,6 @@
553
565
  }
554
566
  }
555
567
 
556
-
557
568
  /* ---------------------------------------------------------------------------
558
569
  * scrollbar-* — minimal native scrollbar helpers (VegaStack addition; not in
559
570
  * upstream shadcn tailwind.css). Used by message-scroller's viewport.
@@ -573,7 +584,6 @@
573
584
  scrollbar-gutter: stable;
574
585
  }
575
586
 
576
-
577
587
  /* ---------------------------------------------------------------------------
578
588
  * motion-* — the state-feedback animation vocabulary (VegaStack addition,
579
589
  * Phase M). Mount-triggered CSS animations for the "keyed presence" mechanism:
@@ -586,6 +596,8 @@
586
596
  * (the "success bounce" — spring ease, tiny overshoot).
587
597
  * - motion-enter-up : fade+rise arrival for content (chat messages,
588
598
  * skeleton→content reveal).
599
+ * - motion-flash : highlight-on-change ring pulse (live updates); color
600
+ * via --vs-flash-color, defaults to `ring`.
589
601
  * - motion-shake : horizontal error jiggle. Replayable: re-trigger by
590
602
  * remounting (key bump) or toggling the class after
591
603
  * `animationend`.
@@ -643,70 +655,62 @@
643
655
  animation: vs-shake var(--duration-slow) var(--motion-ease-standard);
644
656
  }
645
657
 
658
+ @keyframes vs-flash {
659
+ /* Highlight-on-change ring pulse (Wave 1, Attio record-flash adaptation):
660
+ * a 2px ring in the component's own accent (defaults to `ring`) swells and
661
+ * settles. End state = rest, so the base.css reduced-motion collapse renders
662
+ * it invisible. Override the color per call-site via `--vs-flash-color`
663
+ * (e.g. `[--vs-flash-color:var(--info)]` on a live-updating row). */
664
+ 0% {
665
+ box-shadow: 0 0 0 0 transparent;
666
+ }
667
+ 50% {
668
+ box-shadow: 0 0 0 2px var(--vs-flash-color, var(--ring));
669
+ }
670
+ to {
671
+ box-shadow: 0 0 0 0 transparent;
672
+ }
673
+ }
674
+
675
+ @utility motion-flash {
676
+ animation: vs-flash var(--duration-slow) var(--motion-ease-standard);
677
+ }
678
+
646
679
  /* ---------------------------------------------------------------------------
647
- * .vs-marketing — the marketing dark-ground SCOPE MECHANISM (Phase B, audit
648
- * 17-brand-direction §Color & surface, CX-10). Marketing surfaces (hero,
649
- * section bands, the Terminal primitive) render the warm ramp's DARK end
650
- * regardless of the page/product theme — `.dark` alone can't express "product
651
- * light + marketing dark on the SAME page," which is exactly the co-existing
652
- * case this class exists for (docs-home is light by default but its hero is
653
- * dark-first). Any subtree wrapped in `.vs-marketing` (see the
654
- * `MarketingSurface` primitive, and `Terminal`, which self-scopes) gets the
655
- * same semantic custom properties `.dark` sets, scoped LOCALLY instead of
656
- * gated on the page-root class — every `bg-background` / `text-foreground` /
657
- * `border-border` / `bg-brand` utility inside it resolves through these, with
658
- * NO component code changes (any existing token-built component composes
659
- * correctly, since only the custom-property VALUES change, never the
660
- * utility-to-var wiring).
680
+ * BrandIcon theme-aware artwork swap (`<BrandIcon variant="auto">`).
661
681
  *
662
- * Values are a RATIONED, MANUALLY-SYNCED duplicate of the resolved oklch()
663
- * output of `packages/design-tokens/tokens/semantic.dark.tokens.json` (the same
664
- * values `.dark` sets) — the same "one sanctioned literal duplication"
665
- * precedent as the `overlay` scrim token in that file. The principled fix is
666
- * a THIRD generated Style Dictionary platform run in `build-tokens.mjs`
667
- * (source `semantic.dark.tokens.json`, selector `.vs-marketing` instead of
668
- * `.dark`) so this can never drift silently — that's a tokens-BUILD-PIPELINE
669
- * change outside this component-level addition; flagged for whoever owns
670
- * `packages/design-tokens/build-tokens.mjs` next. If `semantic.dark.tokens.json`
671
- * changes, update this block to match (or land the generated version).
682
+ * Single-colour brands ship artwork that only reads on ONE surface — GitHub's
683
+ * brand mark is #181717, invisible on a dark canvas. `thesvg` therefore ships
684
+ * `light` (dark ink, FOR light surfaces) and `dark` (white ink, FOR dark
685
+ * surfaces) variants; `auto` renders both and lets CSS reveal the right one.
672
686
  *
673
- * LIMITATION (documented, not fixed here): Base UI floating surfaces portal
674
- * to `<body>`, OUTSIDE this scoped subtree — a popover/tooltip/menu/dialog
675
- * opened from inside a `.vs-marketing` surface renders with the PAGE theme,
676
- * not the marketing dark ground. Marketing surfaces rarely need portals (a
677
- * hero/section band is not app chrome); the docs-home dogfood doesn't use one.
687
+ * These are plain attribute selectors, NOT Tailwind utilities, on purpose:
688
+ * `@vegastack/design` is a published package, and a consumer's Tailwind build
689
+ * does not scan our `src`. A `dark:` utility authored inside the package would
690
+ * silently never be generated downstream (it wasn't generated in our own docs
691
+ * either — see the dead `packages/icons` @source). Shipping the rules in the
692
+ * stylesheet consumers already import makes the swap work everywhere.
693
+ *
694
+ * `.vs-marketing` is included so a brand mark inside the marketing dark ground
695
+ * picks the dark artwork even while the page theme is light.
678
696
  * ------------------------------------------------------------------------- */
679
- .vs-marketing {
680
- color-scheme: dark;
681
-
682
- --background: oklch(0.175 0.003 75);
683
- --foreground: oklch(0.922 0.003 75);
684
- --card: oklch(0.205 0.003 75);
685
- --card-foreground: oklch(0.922 0.003 75);
686
- --popover: oklch(0.205 0.003 75);
687
- --popover-foreground: oklch(0.922 0.003 75);
688
-
689
- --primary: oklch(0.922 0.003 75);
690
- --primary-foreground: oklch(0.145 0.003 75);
691
- --primary-hover: oklch(0.97 0.003 75);
692
- --primary-active: oklch(0.994 0.002 75);
693
-
694
- --secondary: oklch(0.269 0.003 75);
695
- --secondary-foreground: oklch(0.922 0.003 75);
696
- --muted: oklch(0.269 0.003 75);
697
- --muted-foreground: oklch(0.66 0.003 75);
698
- --muted-foreground-faint: oklch(0.559 0.003 75);
699
- --accent: oklch(0.269 0.003 75);
700
- --accent-foreground: oklch(0.967 0.003 75);
701
-
702
- --border: oklch(0.269 0.003 75);
703
- --input: var(--border);
704
- --ring: var(--primary);
705
- --overlay: oklch(0 0 0 / 0.55);
706
-
707
- /* Brand phosphor — DARK half (13.3:1 on this ground, MK's pick), independent
708
- of whether `.dark` is present anywhere in the ancestor chain. Marker roles
709
- only (live-state dot, sparkline endpoint, eyebrow highlight, terminal
710
- prompt glyph) — see design.md §Brand & Marketing. */
711
- --brand: oklch(0.86 0.21 148);
697
+ [data-brand-artwork="light"] {
698
+ display: contents;
699
+ }
700
+ [data-brand-artwork="dark"] {
701
+ display: none;
712
702
  }
703
+ .dark [data-brand-artwork="light"],
704
+ .vs-marketing [data-brand-artwork="light"] {
705
+ display: none;
706
+ }
707
+ .dark [data-brand-artwork="dark"],
708
+ .vs-marketing [data-brand-artwork="dark"] {
709
+ display: contents;
710
+ }
711
+
712
+ /* `.vs-marketing`'s semantic variables and `color-scheme: dark` now live in
713
+ * generated theme.css. build-tokens.mjs emits the scope from the SAME resolved
714
+ * Style Dictionary dark run as `.dark`, and verify-theme-parity.mjs rejects any
715
+ * variable-set or value drift. The artwork selectors above remain here because
716
+ * they are presentation behavior, not token data. */