@actioneer/ads 0.7.0 → 0.8.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/DESIGN.md +597 -0
- package/components/ai-elements/agent-trace.js +1 -1
- package/components/alert.js +3 -3
- package/components/answer.js +2 -2
- package/components/assistant-ui/action-bar.js +1 -1
- package/components/assistant-ui/attachment.js +11 -11
- package/components/assistant-ui/badge.js +18 -18
- package/components/assistant-ui/composer-trigger-popover.js +9 -9
- package/components/assistant-ui/composer.js +32 -32
- package/components/assistant-ui/image.js +61 -61
- package/components/assistant-ui/message-timing.js +1 -1
- package/components/assistant-ui/selection-toolbar.js +7 -7
- package/components/avatar.js +34 -34
- package/components/chip.js +8 -8
- package/components/divider.js +25 -25
- package/components/drawer.d.ts +2 -14
- package/components/drawer.js +103 -109
- package/components/field.js +9 -9
- package/components/index.js +423 -424
- package/components/input.js +21 -19
- package/components/modal.js +25 -25
- package/components/page-body.js +6 -6
- package/components/pagination.js +1 -1
- package/components/pixel-blast-svg.js +71 -73
- package/components/sidebar.js +47 -47
- package/components/table.d.ts +1 -1
- package/components/table.js +32 -33
- package/components/tabs.js +26 -26
- package/components/tree.js +17 -17
- package/components/ui/button.js +4 -4
- package/components/ui/dialog.js +22 -22
- package/lib/icons.js +12 -12
- package/llms.txt +50 -49
- package/manifest.json +226 -237
- package/package.json +2 -1
- package/styles.css +128 -123
- package/theme.css +121 -112
package/theme.css
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
/*
|
|
9
9
|
* ============================================================
|
|
10
10
|
* ADS 1.0 — Design Tokens
|
|
11
|
-
* Palette:
|
|
11
|
+
* Palette: warm greys + product green
|
|
12
12
|
* Typeface: Aribau Grotesk
|
|
13
13
|
* ============================================================
|
|
14
14
|
*/
|
|
@@ -51,10 +51,10 @@
|
|
|
51
51
|
|
|
52
52
|
/* ---- Foundation palette ----
|
|
53
53
|
Canonical primitive names:
|
|
54
|
-
G1…G12 = Green ·
|
|
54
|
+
G1…G12 = Green · WG1…WG12 = Warm Grey.
|
|
55
55
|
Each ramp progresses from light backgrounds and interactive fills through
|
|
56
56
|
supporting tones to solid colors and accessible text. Neutral UI borders
|
|
57
|
-
are intentionally restricted to
|
|
57
|
+
are intentionally restricted to WG3–WG5. ---- */
|
|
58
58
|
--color-g1: #f7f9f7;
|
|
59
59
|
--color-g2: #eef5f0;
|
|
60
60
|
--color-g3: #e2efe5;
|
|
@@ -68,33 +68,33 @@
|
|
|
68
68
|
--color-g11: #1f623b;
|
|
69
69
|
--color-g12: #183c28;
|
|
70
70
|
|
|
71
|
-
--color-
|
|
72
|
-
--color-
|
|
73
|
-
--color-
|
|
74
|
-
--color-
|
|
75
|
-
--color-
|
|
76
|
-
--color-
|
|
77
|
-
--color-
|
|
78
|
-
--color-
|
|
79
|
-
--color-
|
|
80
|
-
--color-
|
|
81
|
-
--color-
|
|
82
|
-
--color-
|
|
83
|
-
|
|
84
|
-
/* Deprecated
|
|
85
|
-
aliases so existing consumer utilities continue to render
|
|
86
|
-
--color-
|
|
87
|
-
--color-
|
|
88
|
-
--color-
|
|
89
|
-
--color-
|
|
90
|
-
--color-
|
|
91
|
-
--color-
|
|
92
|
-
--color-
|
|
93
|
-
--color-
|
|
94
|
-
--color-
|
|
95
|
-
--color-
|
|
96
|
-
--color-
|
|
97
|
-
--color-
|
|
71
|
+
--color-wg1: #f5f5f3;
|
|
72
|
+
--color-wg2: #f1f1ef;
|
|
73
|
+
--color-wg3: #ececea;
|
|
74
|
+
--color-wg4: #e5e5e2;
|
|
75
|
+
--color-wg5: #dcdcd8;
|
|
76
|
+
--color-wg6: #d1d1cc;
|
|
77
|
+
--color-wg7: #c2c2bc;
|
|
78
|
+
--color-wg8: #a6a69f;
|
|
79
|
+
--color-wg9: #777771;
|
|
80
|
+
--color-wg10: #686863;
|
|
81
|
+
--color-wg11: #4b4b47;
|
|
82
|
+
--color-wg12: #20201e;
|
|
83
|
+
|
|
84
|
+
/* Deprecated Neutral Grey names resolve to the canonical Warm Grey ramp.
|
|
85
|
+
Keep these aliases so existing consumer utilities continue to render. */
|
|
86
|
+
--color-ng1: var(--color-wg1);
|
|
87
|
+
--color-ng2: var(--color-wg2);
|
|
88
|
+
--color-ng3: var(--color-wg3);
|
|
89
|
+
--color-ng4: var(--color-wg4);
|
|
90
|
+
--color-ng5: var(--color-wg5);
|
|
91
|
+
--color-ng6: var(--color-wg6);
|
|
92
|
+
--color-ng7: var(--color-wg7);
|
|
93
|
+
--color-ng8: var(--color-wg8);
|
|
94
|
+
--color-ng9: var(--color-wg9);
|
|
95
|
+
--color-ng10: var(--color-wg10);
|
|
96
|
+
--color-ng11: var(--color-wg11);
|
|
97
|
+
--color-ng12: var(--color-wg12);
|
|
98
98
|
|
|
99
99
|
--color-white: #ffffff;
|
|
100
100
|
|
|
@@ -112,31 +112,31 @@
|
|
|
112
112
|
--color-green-900: var(--color-g11);
|
|
113
113
|
--color-green-950: var(--color-g12);
|
|
114
114
|
|
|
115
|
-
--color-grey-50: var(--color-
|
|
116
|
-
--color-grey-100: var(--color-
|
|
117
|
-
--color-grey-200: var(--color-
|
|
118
|
-
--color-grey-300: var(--color-
|
|
119
|
-
--color-grey-400: var(--color-
|
|
120
|
-
--color-grey-500: var(--color-
|
|
121
|
-
--color-grey-600: var(--color-
|
|
122
|
-
--color-grey-700: var(--color-
|
|
123
|
-
--color-grey-800: var(--color-
|
|
124
|
-
--color-grey-850: var(--color-
|
|
125
|
-
--color-grey-900: var(--color-
|
|
126
|
-
--color-grey-950: var(--color-
|
|
127
|
-
|
|
128
|
-
--color-ink-50: var(--color-
|
|
129
|
-
--color-ink-100: var(--color-
|
|
130
|
-
--color-ink-200: var(--color-
|
|
131
|
-
--color-ink-300: var(--color-
|
|
132
|
-
--color-ink-400: var(--color-
|
|
133
|
-
--color-ink-500: var(--color-
|
|
134
|
-
--color-ink-600: var(--color-
|
|
135
|
-
--color-ink-700: var(--color-
|
|
136
|
-
--color-ink-800: var(--color-
|
|
137
|
-
--color-ink-850: var(--color-
|
|
138
|
-
--color-ink-900: var(--color-
|
|
139
|
-
--color-ink-950: var(--color-
|
|
115
|
+
--color-grey-50: var(--color-wg1);
|
|
116
|
+
--color-grey-100: var(--color-wg2);
|
|
117
|
+
--color-grey-200: var(--color-wg3);
|
|
118
|
+
--color-grey-300: var(--color-wg4);
|
|
119
|
+
--color-grey-400: var(--color-wg5);
|
|
120
|
+
--color-grey-500: var(--color-wg6);
|
|
121
|
+
--color-grey-600: var(--color-wg7);
|
|
122
|
+
--color-grey-700: var(--color-wg8);
|
|
123
|
+
--color-grey-800: var(--color-wg9);
|
|
124
|
+
--color-grey-850: var(--color-wg10);
|
|
125
|
+
--color-grey-900: var(--color-wg11);
|
|
126
|
+
--color-grey-950: var(--color-wg12);
|
|
127
|
+
|
|
128
|
+
--color-ink-50: var(--color-wg1);
|
|
129
|
+
--color-ink-100: var(--color-wg2);
|
|
130
|
+
--color-ink-200: var(--color-wg3);
|
|
131
|
+
--color-ink-300: var(--color-wg4);
|
|
132
|
+
--color-ink-400: var(--color-wg5);
|
|
133
|
+
--color-ink-500: var(--color-wg6);
|
|
134
|
+
--color-ink-600: var(--color-wg7);
|
|
135
|
+
--color-ink-700: var(--color-wg8);
|
|
136
|
+
--color-ink-800: var(--color-wg9);
|
|
137
|
+
--color-ink-850: var(--color-wg10);
|
|
138
|
+
--color-ink-900: var(--color-wg11);
|
|
139
|
+
--color-ink-950: var(--color-wg12);
|
|
140
140
|
|
|
141
141
|
/* ---- Semantic accent ramps ---- */
|
|
142
142
|
/* Success uses the lichen lime family and stays status-only. The original
|
|
@@ -211,7 +211,7 @@
|
|
|
211
211
|
convention). */
|
|
212
212
|
--radius-dot: 2px;
|
|
213
213
|
|
|
214
|
-
/* ---- Elevation ---- Shopify-inspired 0–600 ladder, recolored with
|
|
214
|
+
/* ---- Elevation ---- Shopify-inspired 0–600 ladder, recolored with WG12.
|
|
215
215
|
Geometry and opacity increase together; static surfaces remain at 0. */
|
|
216
216
|
--shadow-0: none;
|
|
217
217
|
--shadow-100: 0 1px 0 0 rgb(32 32 32 / 0.07);
|
|
@@ -227,7 +227,7 @@
|
|
|
227
227
|
|
|
228
228
|
/* Pinned-table-column smudges — whisper-soft directional casts shown only
|
|
229
229
|
while content is hidden behind a sticky column (Table is scroll-aware).
|
|
230
|
-
Deep negative spread keeps the edge feathered; the tint is
|
|
230
|
+
Deep negative spread keeps the edge feathered; the tint is warm grey. */
|
|
231
231
|
--shadow-table-smudge-left: 8px 0 24px -14px rgb(32 32 32 / 0.05);
|
|
232
232
|
--shadow-table-smudge-right: -8px 0 24px -14px rgb(32 32 32 / 0.05);
|
|
233
233
|
|
|
@@ -307,6 +307,7 @@
|
|
|
307
307
|
* @theme inline exposes them as utilities (bg-background, text-primary, …).
|
|
308
308
|
*/
|
|
309
309
|
@theme inline {
|
|
310
|
+
/* The shell canvas and its ink: the ground between top-level panels. */
|
|
310
311
|
--color-background: var(--background);
|
|
311
312
|
--color-foreground: var(--foreground);
|
|
312
313
|
|
|
@@ -323,13 +324,16 @@
|
|
|
323
324
|
--color-secondary: var(--text-secondary);
|
|
324
325
|
--color-tertiary: var(--text-tertiary);
|
|
325
326
|
|
|
327
|
+
/* One continuous recess inside a white surface, never a screen-level ground. */
|
|
326
328
|
--color-surface: var(--surface);
|
|
327
329
|
--color-surface-foreground: var(--surface-foreground);
|
|
328
330
|
--color-elevated: var(--elevated);
|
|
329
331
|
|
|
332
|
+
/* The hover and row-state wash: interaction, not a default item background. */
|
|
330
333
|
--color-muted: var(--muted);
|
|
331
334
|
--color-muted-foreground: var(--muted-foreground);
|
|
332
335
|
|
|
336
|
+
/* The white working plane that sits on the canvas, and the specimen hairline. */
|
|
333
337
|
--color-card: var(--card);
|
|
334
338
|
--color-card-foreground: var(--card-foreground);
|
|
335
339
|
--color-specimen-stroke: var(--specimen-stroke);
|
|
@@ -351,12 +355,15 @@
|
|
|
351
355
|
/* Quiet fill — avatars, chips, and disabled controls */
|
|
352
356
|
--color-fill: var(--fill);
|
|
353
357
|
--color-fill-foreground: var(--fill-foreground);
|
|
358
|
+
/* Table surfaces: the white tray, its hairlines, and header ink. */
|
|
354
359
|
--color-table-shell: var(--table-shell);
|
|
355
360
|
--color-table-stroke: var(--table-stroke);
|
|
356
361
|
--color-table-header-foreground: var(--table-header-foreground);
|
|
357
362
|
|
|
363
|
+
/* The artifact sheet: white warmed by a trace of the brand mark. */
|
|
358
364
|
--color-artifact-canvas: var(--artifact-canvas);
|
|
359
365
|
|
|
366
|
+
/* The active and selected wash, one step above hover. */
|
|
360
367
|
--color-accent: var(--accent);
|
|
361
368
|
--color-accent-foreground: var(--accent-foreground);
|
|
362
369
|
|
|
@@ -368,12 +375,14 @@
|
|
|
368
375
|
/* Amber-500 fill kept (it IS the caution signal); dark ink foreground
|
|
369
376
|
instead of white = 6.94:1 (white on amber was 2.35:1, failed even 3:1). */
|
|
370
377
|
--color-warning: var(--color-warning-500);
|
|
371
|
-
--color-warning-foreground: var(--color-
|
|
378
|
+
--color-warning-foreground: var(--color-wg12);
|
|
379
|
+
/* Danger and info: solid semantic fills carrying white foregrounds. */
|
|
372
380
|
--color-danger: var(--color-danger-600);
|
|
373
381
|
--color-danger-foreground: var(--color-white);
|
|
374
382
|
--color-info: var(--color-info-600);
|
|
375
383
|
--color-info-foreground: var(--color-white);
|
|
376
384
|
|
|
385
|
+
/* The neutral stroke ladder: every 1px UI border stays within WG3 to WG5. */
|
|
377
386
|
--color-border-primary: var(--border-primary);
|
|
378
387
|
--color-border-secondary: var(--border-secondary);
|
|
379
388
|
--color-border-tertiary: var(--border-tertiary);
|
|
@@ -383,6 +392,7 @@
|
|
|
383
392
|
--color-menu-stroke: var(--menu-stroke);
|
|
384
393
|
--color-toast-stroke: var(--toast-stroke);
|
|
385
394
|
--color-tree-stroke: var(--tree-stroke);
|
|
395
|
+
/* Focus ring and scrim, both translucent warm ink. */
|
|
386
396
|
--color-ring: var(--ring);
|
|
387
397
|
--color-overlay: var(--overlay);
|
|
388
398
|
|
|
@@ -413,36 +423,35 @@
|
|
|
413
423
|
|
|
414
424
|
/* ---- Theme (light only) ---- */
|
|
415
425
|
:root {
|
|
416
|
-
/* Surfaces and achromatic text/actions point into
|
|
426
|
+
/* Surfaces and achromatic text/actions point into WG; the primary CTA
|
|
417
427
|
points into G. */
|
|
418
|
-
--background: var(--color-
|
|
419
|
-
--foreground: var(--color-
|
|
420
|
-
|
|
421
|
-
/* Both surface contexts point directly into the approved
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
--text-on-white-
|
|
425
|
-
--text-on-white-
|
|
426
|
-
--text-on-
|
|
427
|
-
--text-on-warm-grey-
|
|
428
|
-
--text-on-warm-grey-
|
|
429
|
-
--text-on-warm-grey-tertiary: var(--color-ng10); /* legacy name · neutral canvas */
|
|
428
|
+
--background: var(--color-wg2); /* step 2 · canvas */
|
|
429
|
+
--foreground: var(--color-wg12); /* step 12 */
|
|
430
|
+
|
|
431
|
+
/* Both surface contexts point directly into the approved WG text steps.
|
|
432
|
+
WG10 is the tertiary/de-emphasis step and clears AA on White and WG2. */
|
|
433
|
+
--text-on-white-primary: var(--color-wg12); /* 16.32:1 · AAA */
|
|
434
|
+
--text-on-white-secondary: var(--color-wg11); /* 8.76:1 · AAA */
|
|
435
|
+
--text-on-white-tertiary: var(--color-wg10); /* 5.60:1 · AA */
|
|
436
|
+
--text-on-warm-grey-primary: var(--color-wg12); /* 14.43:1 on WG2 · AAA */
|
|
437
|
+
--text-on-warm-grey-secondary: var(--color-wg11); /* 7.75:1 on WG2 · AAA */
|
|
438
|
+
--text-on-warm-grey-tertiary: var(--color-wg10); /* 4.95:1 on WG2 · AA */
|
|
430
439
|
|
|
431
440
|
/* Existing context-free utilities remain compatibility aliases. Their
|
|
432
|
-
tertiary value stays conservative across
|
|
433
|
-
--text-primary: var(--color-
|
|
434
|
-
--text-secondary: var(--color-
|
|
435
|
-
--text-tertiary:
|
|
441
|
+
tertiary value stays conservative across WG2–WG4 and White. */
|
|
442
|
+
--text-primary: var(--color-wg12); /* 12.93:1 AAA (WG4 min surf) */
|
|
443
|
+
--text-secondary: var(--color-wg11); /* 6.94:1 AA (WG4 min surf) */
|
|
444
|
+
--text-tertiary: color-mix(in srgb, var(--color-wg10) 80%, var(--color-wg11)); /* 4.86:1 AA (WG4) */
|
|
436
445
|
|
|
437
|
-
--surface: var(--color-
|
|
438
|
-
--surface-foreground: var(--color-
|
|
446
|
+
--surface: var(--color-wg3); /* step 3 · tinted canvas */
|
|
447
|
+
--surface-foreground: var(--color-wg12);
|
|
439
448
|
--elevated: var(--color-white); /* pure white base */
|
|
440
449
|
|
|
441
|
-
--muted: var(--color-
|
|
442
|
-
--muted-foreground: var(--color-
|
|
450
|
+
--muted: var(--color-wg4); /* step 4 */
|
|
451
|
+
--muted-foreground: var(--color-wg11); /* step 11 · readable UI text */
|
|
443
452
|
|
|
444
453
|
--card: var(--color-white); /* pure white base */
|
|
445
|
-
--card-foreground: var(--color-
|
|
454
|
+
--card-foreground: var(--color-wg12);
|
|
446
455
|
|
|
447
456
|
/* Studio green is deliberately isolated to the primary CTA role (roughly
|
|
448
457
|
5–10% of a screen). Selection controls keep using neutral `brand` below,
|
|
@@ -455,36 +464,36 @@
|
|
|
455
464
|
|
|
456
465
|
/* Neutral action role. The `brand` name remains as a compatibility API,
|
|
457
466
|
and shared selection/control states intentionally remain achromatic. */
|
|
458
|
-
--brand: var(--color-
|
|
467
|
+
--brand: var(--color-wg12); /* darkest neutral action */
|
|
459
468
|
--brand-foreground: var(--color-white);
|
|
460
|
-
--brand-hover: var(--color-
|
|
461
|
-
--brand-text: var(--color-
|
|
469
|
+
--brand-hover: var(--color-wg11); /* lighter hover lift */
|
|
470
|
+
--brand-text: var(--color-wg12); /* action text / links */
|
|
462
471
|
|
|
463
|
-
/* Interactive
|
|
464
|
-
--table-row-hover: var(--color-
|
|
465
|
-
--table-row-selected: var(--color-
|
|
472
|
+
/* Interactive row hover/focus uses the WG1 highlight wash. */
|
|
473
|
+
--table-row-hover: var(--color-wg2);
|
|
474
|
+
--table-row-selected: var(--color-wg1);
|
|
466
475
|
|
|
467
|
-
/* Quiet component fill.
|
|
476
|
+
/* Quiet component fill. WG3 is the first interactive-background
|
|
468
477
|
step, so this remains visible on both white cards and the step-2 canvas. */
|
|
469
|
-
--fill: var(--color-
|
|
470
|
-
--fill-foreground: var(--color-
|
|
478
|
+
--fill: var(--color-wg3); /* step 3 · default component fill */
|
|
479
|
+
--fill-foreground: var(--color-wg12);
|
|
471
480
|
|
|
472
|
-
--accent: var(--color-
|
|
473
|
-
--accent-foreground: var(--color-
|
|
481
|
+
--accent: var(--color-wg5); /* step 5 · active / selected wash */
|
|
482
|
+
--accent-foreground: var(--color-wg12);
|
|
474
483
|
|
|
475
|
-
/* Every neutral border stays within the consecutive
|
|
484
|
+
/* Every neutral border stays within the consecutive WG3–WG5 range:
|
|
476
485
|
tertiary is the quietest 1px divider, secondary is the default hairline,
|
|
477
486
|
and primary is the strongest neutral edge. */
|
|
478
|
-
--border-primary: var(--color-
|
|
479
|
-
--border-secondary: var(--color-
|
|
480
|
-
--border-tertiary: var(--color-
|
|
487
|
+
--border-primary: var(--color-wg5); /* step 5 · strongest */
|
|
488
|
+
--border-secondary: var(--color-wg4); /* step 4 · default */
|
|
489
|
+
--border-tertiary: var(--color-wg3); /* step 3 · faintest */
|
|
481
490
|
/* Legacy aliases point into the scale so existing utilities keep resolving. */
|
|
482
491
|
--border: var(--border-secondary); /* default hairline / separator */
|
|
483
492
|
--border-strong: var(--border-primary); /* emphasized / hover / selected */
|
|
484
|
-
--input: var(--color-
|
|
485
|
-
--menu-stroke: var(--color-
|
|
486
|
-
--toast-stroke: var(--color-
|
|
487
|
-
--tree-stroke: var(--color-
|
|
493
|
+
--input: var(--color-wg4); /* form-control edge */
|
|
494
|
+
--menu-stroke: var(--color-wg4); /* dropdown edge + separator */
|
|
495
|
+
--toast-stroke: var(--color-wg4); /* toast card edge */
|
|
496
|
+
--tree-stroke: var(--color-wg4); /* tree connector rail + elbows */
|
|
488
497
|
--field-focus: var(--color-g8); /* subtle green focused-control edge */
|
|
489
498
|
|
|
490
499
|
/* Ripple — the appearance wash that radiates from a floating surface's
|
|
@@ -495,27 +504,27 @@
|
|
|
495
504
|
|
|
496
505
|
/* Stroke width — every standard UI border is exactly 1px. */
|
|
497
506
|
--stroke-width: 1px;
|
|
498
|
-
--ring: color-mix(in srgb, var(--color-
|
|
499
|
-
--overlay: color-mix(in srgb, var(--color-
|
|
507
|
+
--ring: color-mix(in srgb, var(--color-wg12) 50%, transparent); /* WG12 @ 50% */
|
|
508
|
+
--overlay: color-mix(in srgb, var(--color-wg12) 50%, transparent); /* WG12 @ 50% */
|
|
500
509
|
|
|
501
510
|
/* Functional / domain tokens — named for their render role, pointing into
|
|
502
|
-
the canonical
|
|
511
|
+
the canonical WG palette. Components pass these into non-CSS renderers
|
|
503
512
|
(Recharts, React Flow, the Paper/WebGL texture) so no component carries a
|
|
504
513
|
raw primitive value. Same DS pattern as the data-viz palette. */
|
|
505
514
|
--chart-axis: var(--border-tertiary); /* axis lines + de-emphasised marks */
|
|
506
|
-
--chart-grid: var(--color-
|
|
507
|
-
--chart-track: var(--color-
|
|
508
|
-
--chart-context: var(--color-
|
|
515
|
+
--chart-grid: var(--color-wg3); /* quieter than axes, visible on white */
|
|
516
|
+
--chart-track: var(--color-wg3); /* funnel / progress track */
|
|
517
|
+
--chart-context: var(--color-wg6); /* de-emphasised context series */
|
|
509
518
|
--chart-active-bar-opacity: 0.68; /* hover lightens a bar while preserving its series hue */
|
|
510
519
|
--canvas-edge: var(--border-secondary);/* infinite-canvas edges / connectors */
|
|
511
|
-
--texture-ink: var(--color-
|
|
520
|
+
--texture-ink: var(--color-wg12); /* brand-texture / pixel-blast marks */
|
|
512
521
|
--table-shell: var(--color-white); /* simplified single-surface table */
|
|
513
|
-
--table-stroke: var(--color-
|
|
514
|
-
--table-header-foreground: var(--color-
|
|
515
|
-
--specimen-stroke: var(--color-
|
|
516
|
-
--table-scroll-hint:
|
|
517
|
-
--surface-inverse: var(--color-
|
|
518
|
-
--surface-inverse-soft: var(--color-
|
|
522
|
+
--table-stroke: var(--color-wg3); /* table outline + row separators */
|
|
523
|
+
--table-header-foreground: var(--color-wg11); /* readable secondary table heading text */
|
|
524
|
+
--specimen-stroke: var(--color-wg3); /* showcase preview + variant-group frames */
|
|
525
|
+
--table-scroll-hint: color-mix(in srgb, var(--color-wg12) 4%, transparent); /* right-edge wash */
|
|
526
|
+
--surface-inverse: var(--color-wg12); /* dark hero / inverse surface base */
|
|
527
|
+
--surface-inverse-soft: var(--color-wg11);/* dark hero gradient falloff */
|
|
519
528
|
--artifact-canvas: color-mix(in srgb, var(--color-brand-mark) 7%, var(--color-white));
|
|
520
529
|
|
|
521
530
|
/* shadcn-compat raw surfaces — so a downstream shadcn Sidebar / Popover
|