@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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@actioneer/ads",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Actioneer Design System 1.0 — React 19 + Tailwind v4 component library.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": [
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"./fonts.css": "./fonts.css",
|
|
25
25
|
"./manifest.json": "./manifest.json",
|
|
26
26
|
"./llms.txt": "./llms.txt",
|
|
27
|
+
"./DESIGN.md": "./DESIGN.md",
|
|
27
28
|
"./package.json": "./package.json"
|
|
28
29
|
},
|
|
29
30
|
"bin": {
|
package/styles.css
CHANGED
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
/*
|
|
40
40
|
* ============================================================
|
|
41
41
|
* ADS 1.0 — Design Tokens
|
|
42
|
-
* Palette:
|
|
42
|
+
* Palette: warm greys + product green
|
|
43
43
|
* Typeface: Aribau Grotesk
|
|
44
44
|
* ============================================================
|
|
45
45
|
*/
|
|
@@ -82,10 +82,10 @@
|
|
|
82
82
|
|
|
83
83
|
/* ---- Foundation palette ----
|
|
84
84
|
Canonical primitive names:
|
|
85
|
-
G1…G12 = Green ·
|
|
85
|
+
G1…G12 = Green · WG1…WG12 = Warm Grey.
|
|
86
86
|
Each ramp progresses from light backgrounds and interactive fills through
|
|
87
87
|
supporting tones to solid colors and accessible text. Neutral UI borders
|
|
88
|
-
are intentionally restricted to
|
|
88
|
+
are intentionally restricted to WG3–WG5. ---- */
|
|
89
89
|
--color-g1: #f7f9f7;
|
|
90
90
|
--color-g2: #eef5f0;
|
|
91
91
|
--color-g3: #e2efe5;
|
|
@@ -99,33 +99,33 @@
|
|
|
99
99
|
--color-g11: #1f623b;
|
|
100
100
|
--color-g12: #183c28;
|
|
101
101
|
|
|
102
|
-
--color-
|
|
103
|
-
--color-
|
|
104
|
-
--color-
|
|
105
|
-
--color-
|
|
106
|
-
--color-
|
|
107
|
-
--color-
|
|
108
|
-
--color-
|
|
109
|
-
--color-
|
|
110
|
-
--color-
|
|
111
|
-
--color-
|
|
112
|
-
--color-
|
|
113
|
-
--color-
|
|
114
|
-
|
|
115
|
-
/* Deprecated
|
|
116
|
-
aliases so existing consumer utilities continue to render
|
|
117
|
-
--color-
|
|
118
|
-
--color-
|
|
119
|
-
--color-
|
|
120
|
-
--color-
|
|
121
|
-
--color-
|
|
122
|
-
--color-
|
|
123
|
-
--color-
|
|
124
|
-
--color-
|
|
125
|
-
--color-
|
|
126
|
-
--color-
|
|
127
|
-
--color-
|
|
128
|
-
--color-
|
|
102
|
+
--color-wg1: #f5f5f3;
|
|
103
|
+
--color-wg2: #f1f1ef;
|
|
104
|
+
--color-wg3: #ececea;
|
|
105
|
+
--color-wg4: #e5e5e2;
|
|
106
|
+
--color-wg5: #dcdcd8;
|
|
107
|
+
--color-wg6: #d1d1cc;
|
|
108
|
+
--color-wg7: #c2c2bc;
|
|
109
|
+
--color-wg8: #a6a69f;
|
|
110
|
+
--color-wg9: #777771;
|
|
111
|
+
--color-wg10: #686863;
|
|
112
|
+
--color-wg11: #4b4b47;
|
|
113
|
+
--color-wg12: #20201e;
|
|
114
|
+
|
|
115
|
+
/* Deprecated Neutral Grey names resolve to the canonical Warm Grey ramp.
|
|
116
|
+
Keep these aliases so existing consumer utilities continue to render. */
|
|
117
|
+
--color-ng1: var(--color-wg1);
|
|
118
|
+
--color-ng2: var(--color-wg2);
|
|
119
|
+
--color-ng3: var(--color-wg3);
|
|
120
|
+
--color-ng4: var(--color-wg4);
|
|
121
|
+
--color-ng5: var(--color-wg5);
|
|
122
|
+
--color-ng6: var(--color-wg6);
|
|
123
|
+
--color-ng7: var(--color-wg7);
|
|
124
|
+
--color-ng8: var(--color-wg8);
|
|
125
|
+
--color-ng9: var(--color-wg9);
|
|
126
|
+
--color-ng10: var(--color-wg10);
|
|
127
|
+
--color-ng11: var(--color-wg11);
|
|
128
|
+
--color-ng12: var(--color-wg12);
|
|
129
129
|
|
|
130
130
|
--color-white: #ffffff;
|
|
131
131
|
|
|
@@ -143,31 +143,31 @@
|
|
|
143
143
|
--color-green-900: var(--color-g11);
|
|
144
144
|
--color-green-950: var(--color-g12);
|
|
145
145
|
|
|
146
|
-
--color-grey-50: var(--color-
|
|
147
|
-
--color-grey-100: var(--color-
|
|
148
|
-
--color-grey-200: var(--color-
|
|
149
|
-
--color-grey-300: var(--color-
|
|
150
|
-
--color-grey-400: var(--color-
|
|
151
|
-
--color-grey-500: var(--color-
|
|
152
|
-
--color-grey-600: var(--color-
|
|
153
|
-
--color-grey-700: var(--color-
|
|
154
|
-
--color-grey-800: var(--color-
|
|
155
|
-
--color-grey-850: var(--color-
|
|
156
|
-
--color-grey-900: var(--color-
|
|
157
|
-
--color-grey-950: var(--color-
|
|
158
|
-
|
|
159
|
-
--color-ink-50: var(--color-
|
|
160
|
-
--color-ink-100: var(--color-
|
|
161
|
-
--color-ink-200: var(--color-
|
|
162
|
-
--color-ink-300: var(--color-
|
|
163
|
-
--color-ink-400: var(--color-
|
|
164
|
-
--color-ink-500: var(--color-
|
|
165
|
-
--color-ink-600: var(--color-
|
|
166
|
-
--color-ink-700: var(--color-
|
|
167
|
-
--color-ink-800: var(--color-
|
|
168
|
-
--color-ink-850: var(--color-
|
|
169
|
-
--color-ink-900: var(--color-
|
|
170
|
-
--color-ink-950: var(--color-
|
|
146
|
+
--color-grey-50: var(--color-wg1);
|
|
147
|
+
--color-grey-100: var(--color-wg2);
|
|
148
|
+
--color-grey-200: var(--color-wg3);
|
|
149
|
+
--color-grey-300: var(--color-wg4);
|
|
150
|
+
--color-grey-400: var(--color-wg5);
|
|
151
|
+
--color-grey-500: var(--color-wg6);
|
|
152
|
+
--color-grey-600: var(--color-wg7);
|
|
153
|
+
--color-grey-700: var(--color-wg8);
|
|
154
|
+
--color-grey-800: var(--color-wg9);
|
|
155
|
+
--color-grey-850: var(--color-wg10);
|
|
156
|
+
--color-grey-900: var(--color-wg11);
|
|
157
|
+
--color-grey-950: var(--color-wg12);
|
|
158
|
+
|
|
159
|
+
--color-ink-50: var(--color-wg1);
|
|
160
|
+
--color-ink-100: var(--color-wg2);
|
|
161
|
+
--color-ink-200: var(--color-wg3);
|
|
162
|
+
--color-ink-300: var(--color-wg4);
|
|
163
|
+
--color-ink-400: var(--color-wg5);
|
|
164
|
+
--color-ink-500: var(--color-wg6);
|
|
165
|
+
--color-ink-600: var(--color-wg7);
|
|
166
|
+
--color-ink-700: var(--color-wg8);
|
|
167
|
+
--color-ink-800: var(--color-wg9);
|
|
168
|
+
--color-ink-850: var(--color-wg10);
|
|
169
|
+
--color-ink-900: var(--color-wg11);
|
|
170
|
+
--color-ink-950: var(--color-wg12);
|
|
171
171
|
|
|
172
172
|
/* ---- Semantic accent ramps ---- */
|
|
173
173
|
/* Success uses the lichen lime family and stays status-only. The original
|
|
@@ -242,7 +242,7 @@
|
|
|
242
242
|
convention). */
|
|
243
243
|
--radius-dot: 2px;
|
|
244
244
|
|
|
245
|
-
/* ---- Elevation ---- Shopify-inspired 0–600 ladder, recolored with
|
|
245
|
+
/* ---- Elevation ---- Shopify-inspired 0–600 ladder, recolored with WG12.
|
|
246
246
|
Geometry and opacity increase together; static surfaces remain at 0. */
|
|
247
247
|
--shadow-0: none;
|
|
248
248
|
--shadow-100: 0 1px 0 0 rgb(32 32 32 / 0.07);
|
|
@@ -258,7 +258,7 @@
|
|
|
258
258
|
|
|
259
259
|
/* Pinned-table-column smudges — whisper-soft directional casts shown only
|
|
260
260
|
while content is hidden behind a sticky column (Table is scroll-aware).
|
|
261
|
-
Deep negative spread keeps the edge feathered; the tint is
|
|
261
|
+
Deep negative spread keeps the edge feathered; the tint is warm grey. */
|
|
262
262
|
--shadow-table-smudge-left: 8px 0 24px -14px rgb(32 32 32 / 0.05);
|
|
263
263
|
--shadow-table-smudge-right: -8px 0 24px -14px rgb(32 32 32 / 0.05);
|
|
264
264
|
|
|
@@ -338,6 +338,7 @@
|
|
|
338
338
|
* @theme inline exposes them as utilities (bg-background, text-primary, …).
|
|
339
339
|
*/
|
|
340
340
|
@theme inline {
|
|
341
|
+
/* The shell canvas and its ink: the ground between top-level panels. */
|
|
341
342
|
--color-background: var(--background);
|
|
342
343
|
--color-foreground: var(--foreground);
|
|
343
344
|
|
|
@@ -354,13 +355,16 @@
|
|
|
354
355
|
--color-secondary: var(--text-secondary);
|
|
355
356
|
--color-tertiary: var(--text-tertiary);
|
|
356
357
|
|
|
358
|
+
/* One continuous recess inside a white surface, never a screen-level ground. */
|
|
357
359
|
--color-surface: var(--surface);
|
|
358
360
|
--color-surface-foreground: var(--surface-foreground);
|
|
359
361
|
--color-elevated: var(--elevated);
|
|
360
362
|
|
|
363
|
+
/* The hover and row-state wash: interaction, not a default item background. */
|
|
361
364
|
--color-muted: var(--muted);
|
|
362
365
|
--color-muted-foreground: var(--muted-foreground);
|
|
363
366
|
|
|
367
|
+
/* The white working plane that sits on the canvas, and the specimen hairline. */
|
|
364
368
|
--color-card: var(--card);
|
|
365
369
|
--color-card-foreground: var(--card-foreground);
|
|
366
370
|
--color-specimen-stroke: var(--specimen-stroke);
|
|
@@ -382,12 +386,15 @@
|
|
|
382
386
|
/* Quiet fill — avatars, chips, and disabled controls */
|
|
383
387
|
--color-fill: var(--fill);
|
|
384
388
|
--color-fill-foreground: var(--fill-foreground);
|
|
389
|
+
/* Table surfaces: the white tray, its hairlines, and header ink. */
|
|
385
390
|
--color-table-shell: var(--table-shell);
|
|
386
391
|
--color-table-stroke: var(--table-stroke);
|
|
387
392
|
--color-table-header-foreground: var(--table-header-foreground);
|
|
388
393
|
|
|
394
|
+
/* The artifact sheet: white warmed by a trace of the brand mark. */
|
|
389
395
|
--color-artifact-canvas: var(--artifact-canvas);
|
|
390
396
|
|
|
397
|
+
/* The active and selected wash, one step above hover. */
|
|
391
398
|
--color-accent: var(--accent);
|
|
392
399
|
--color-accent-foreground: var(--accent-foreground);
|
|
393
400
|
|
|
@@ -399,12 +406,14 @@
|
|
|
399
406
|
/* Amber-500 fill kept (it IS the caution signal); dark ink foreground
|
|
400
407
|
instead of white = 6.94:1 (white on amber was 2.35:1, failed even 3:1). */
|
|
401
408
|
--color-warning: var(--color-warning-500);
|
|
402
|
-
--color-warning-foreground: var(--color-
|
|
409
|
+
--color-warning-foreground: var(--color-wg12);
|
|
410
|
+
/* Danger and info: solid semantic fills carrying white foregrounds. */
|
|
403
411
|
--color-danger: var(--color-danger-600);
|
|
404
412
|
--color-danger-foreground: var(--color-white);
|
|
405
413
|
--color-info: var(--color-info-600);
|
|
406
414
|
--color-info-foreground: var(--color-white);
|
|
407
415
|
|
|
416
|
+
/* The neutral stroke ladder: every 1px UI border stays within WG3 to WG5. */
|
|
408
417
|
--color-border-primary: var(--border-primary);
|
|
409
418
|
--color-border-secondary: var(--border-secondary);
|
|
410
419
|
--color-border-tertiary: var(--border-tertiary);
|
|
@@ -414,6 +423,7 @@
|
|
|
414
423
|
--color-menu-stroke: var(--menu-stroke);
|
|
415
424
|
--color-toast-stroke: var(--toast-stroke);
|
|
416
425
|
--color-tree-stroke: var(--tree-stroke);
|
|
426
|
+
/* Focus ring and scrim, both translucent warm ink. */
|
|
417
427
|
--color-ring: var(--ring);
|
|
418
428
|
--color-overlay: var(--overlay);
|
|
419
429
|
|
|
@@ -444,36 +454,35 @@
|
|
|
444
454
|
|
|
445
455
|
/* ---- Theme (light only) ---- */
|
|
446
456
|
:root {
|
|
447
|
-
/* Surfaces and achromatic text/actions point into
|
|
457
|
+
/* Surfaces and achromatic text/actions point into WG; the primary CTA
|
|
448
458
|
points into G. */
|
|
449
|
-
--background: var(--color-
|
|
450
|
-
--foreground: var(--color-
|
|
451
|
-
|
|
452
|
-
/* Both surface contexts point directly into the approved
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
--text-on-white-
|
|
456
|
-
--text-on-white-
|
|
457
|
-
--text-on-
|
|
458
|
-
--text-on-warm-grey-
|
|
459
|
-
--text-on-warm-grey-
|
|
460
|
-
--text-on-warm-grey-tertiary: var(--color-ng10); /* legacy name · neutral canvas */
|
|
459
|
+
--background: var(--color-wg2); /* step 2 · canvas */
|
|
460
|
+
--foreground: var(--color-wg12); /* step 12 */
|
|
461
|
+
|
|
462
|
+
/* Both surface contexts point directly into the approved WG text steps.
|
|
463
|
+
WG10 is the tertiary/de-emphasis step and clears AA on White and WG2. */
|
|
464
|
+
--text-on-white-primary: var(--color-wg12); /* 16.32:1 · AAA */
|
|
465
|
+
--text-on-white-secondary: var(--color-wg11); /* 8.76:1 · AAA */
|
|
466
|
+
--text-on-white-tertiary: var(--color-wg10); /* 5.60:1 · AA */
|
|
467
|
+
--text-on-warm-grey-primary: var(--color-wg12); /* 14.43:1 on WG2 · AAA */
|
|
468
|
+
--text-on-warm-grey-secondary: var(--color-wg11); /* 7.75:1 on WG2 · AAA */
|
|
469
|
+
--text-on-warm-grey-tertiary: var(--color-wg10); /* 4.95:1 on WG2 · AA */
|
|
461
470
|
|
|
462
471
|
/* Existing context-free utilities remain compatibility aliases. Their
|
|
463
|
-
tertiary value stays conservative across
|
|
464
|
-
--text-primary: var(--color-
|
|
465
|
-
--text-secondary: var(--color-
|
|
466
|
-
--text-tertiary:
|
|
472
|
+
tertiary value stays conservative across WG2–WG4 and White. */
|
|
473
|
+
--text-primary: var(--color-wg12); /* 12.93:1 AAA (WG4 min surf) */
|
|
474
|
+
--text-secondary: var(--color-wg11); /* 6.94:1 AA (WG4 min surf) */
|
|
475
|
+
--text-tertiary: color-mix(in srgb, var(--color-wg10) 80%, var(--color-wg11)); /* 4.86:1 AA (WG4) */
|
|
467
476
|
|
|
468
|
-
--surface: var(--color-
|
|
469
|
-
--surface-foreground: var(--color-
|
|
477
|
+
--surface: var(--color-wg3); /* step 3 · tinted canvas */
|
|
478
|
+
--surface-foreground: var(--color-wg12);
|
|
470
479
|
--elevated: var(--color-white); /* pure white base */
|
|
471
480
|
|
|
472
|
-
--muted: var(--color-
|
|
473
|
-
--muted-foreground: var(--color-
|
|
481
|
+
--muted: var(--color-wg4); /* step 4 */
|
|
482
|
+
--muted-foreground: var(--color-wg11); /* step 11 · readable UI text */
|
|
474
483
|
|
|
475
484
|
--card: var(--color-white); /* pure white base */
|
|
476
|
-
--card-foreground: var(--color-
|
|
485
|
+
--card-foreground: var(--color-wg12);
|
|
477
486
|
|
|
478
487
|
/* Studio green is deliberately isolated to the primary CTA role (roughly
|
|
479
488
|
5–10% of a screen). Selection controls keep using neutral `brand` below,
|
|
@@ -486,36 +495,36 @@
|
|
|
486
495
|
|
|
487
496
|
/* Neutral action role. The `brand` name remains as a compatibility API,
|
|
488
497
|
and shared selection/control states intentionally remain achromatic. */
|
|
489
|
-
--brand: var(--color-
|
|
498
|
+
--brand: var(--color-wg12); /* darkest neutral action */
|
|
490
499
|
--brand-foreground: var(--color-white);
|
|
491
|
-
--brand-hover: var(--color-
|
|
492
|
-
--brand-text: var(--color-
|
|
500
|
+
--brand-hover: var(--color-wg11); /* lighter hover lift */
|
|
501
|
+
--brand-text: var(--color-wg12); /* action text / links */
|
|
493
502
|
|
|
494
|
-
/* Interactive
|
|
495
|
-
--table-row-hover: var(--color-
|
|
496
|
-
--table-row-selected: var(--color-
|
|
503
|
+
/* Interactive row hover/focus uses the WG1 highlight wash. */
|
|
504
|
+
--table-row-hover: var(--color-wg2);
|
|
505
|
+
--table-row-selected: var(--color-wg1);
|
|
497
506
|
|
|
498
|
-
/* Quiet component fill.
|
|
507
|
+
/* Quiet component fill. WG3 is the first interactive-background
|
|
499
508
|
step, so this remains visible on both white cards and the step-2 canvas. */
|
|
500
|
-
--fill: var(--color-
|
|
501
|
-
--fill-foreground: var(--color-
|
|
509
|
+
--fill: var(--color-wg3); /* step 3 · default component fill */
|
|
510
|
+
--fill-foreground: var(--color-wg12);
|
|
502
511
|
|
|
503
|
-
--accent: var(--color-
|
|
504
|
-
--accent-foreground: var(--color-
|
|
512
|
+
--accent: var(--color-wg5); /* step 5 · active / selected wash */
|
|
513
|
+
--accent-foreground: var(--color-wg12);
|
|
505
514
|
|
|
506
|
-
/* Every neutral border stays within the consecutive
|
|
515
|
+
/* Every neutral border stays within the consecutive WG3–WG5 range:
|
|
507
516
|
tertiary is the quietest 1px divider, secondary is the default hairline,
|
|
508
517
|
and primary is the strongest neutral edge. */
|
|
509
|
-
--border-primary: var(--color-
|
|
510
|
-
--border-secondary: var(--color-
|
|
511
|
-
--border-tertiary: var(--color-
|
|
518
|
+
--border-primary: var(--color-wg5); /* step 5 · strongest */
|
|
519
|
+
--border-secondary: var(--color-wg4); /* step 4 · default */
|
|
520
|
+
--border-tertiary: var(--color-wg3); /* step 3 · faintest */
|
|
512
521
|
/* Legacy aliases point into the scale so existing utilities keep resolving. */
|
|
513
522
|
--border: var(--border-secondary); /* default hairline / separator */
|
|
514
523
|
--border-strong: var(--border-primary); /* emphasized / hover / selected */
|
|
515
|
-
--input: var(--color-
|
|
516
|
-
--menu-stroke: var(--color-
|
|
517
|
-
--toast-stroke: var(--color-
|
|
518
|
-
--tree-stroke: var(--color-
|
|
524
|
+
--input: var(--color-wg4); /* form-control edge */
|
|
525
|
+
--menu-stroke: var(--color-wg4); /* dropdown edge + separator */
|
|
526
|
+
--toast-stroke: var(--color-wg4); /* toast card edge */
|
|
527
|
+
--tree-stroke: var(--color-wg4); /* tree connector rail + elbows */
|
|
519
528
|
--field-focus: var(--color-g8); /* subtle green focused-control edge */
|
|
520
529
|
|
|
521
530
|
/* Ripple — the appearance wash that radiates from a floating surface's
|
|
@@ -526,27 +535,27 @@
|
|
|
526
535
|
|
|
527
536
|
/* Stroke width — every standard UI border is exactly 1px. */
|
|
528
537
|
--stroke-width: 1px;
|
|
529
|
-
--ring: color-mix(in srgb, var(--color-
|
|
530
|
-
--overlay: color-mix(in srgb, var(--color-
|
|
538
|
+
--ring: color-mix(in srgb, var(--color-wg12) 50%, transparent); /* WG12 @ 50% */
|
|
539
|
+
--overlay: color-mix(in srgb, var(--color-wg12) 50%, transparent); /* WG12 @ 50% */
|
|
531
540
|
|
|
532
541
|
/* Functional / domain tokens — named for their render role, pointing into
|
|
533
|
-
the canonical
|
|
542
|
+
the canonical WG palette. Components pass these into non-CSS renderers
|
|
534
543
|
(Recharts, React Flow, the Paper/WebGL texture) so no component carries a
|
|
535
544
|
raw primitive value. Same DS pattern as the data-viz palette. */
|
|
536
545
|
--chart-axis: var(--border-tertiary); /* axis lines + de-emphasised marks */
|
|
537
|
-
--chart-grid: var(--color-
|
|
538
|
-
--chart-track: var(--color-
|
|
539
|
-
--chart-context: var(--color-
|
|
546
|
+
--chart-grid: var(--color-wg3); /* quieter than axes, visible on white */
|
|
547
|
+
--chart-track: var(--color-wg3); /* funnel / progress track */
|
|
548
|
+
--chart-context: var(--color-wg6); /* de-emphasised context series */
|
|
540
549
|
--chart-active-bar-opacity: 0.68; /* hover lightens a bar while preserving its series hue */
|
|
541
550
|
--canvas-edge: var(--border-secondary);/* infinite-canvas edges / connectors */
|
|
542
|
-
--texture-ink: var(--color-
|
|
551
|
+
--texture-ink: var(--color-wg12); /* brand-texture / pixel-blast marks */
|
|
543
552
|
--table-shell: var(--color-white); /* simplified single-surface table */
|
|
544
|
-
--table-stroke: var(--color-
|
|
545
|
-
--table-header-foreground: var(--color-
|
|
546
|
-
--specimen-stroke: var(--color-
|
|
547
|
-
--table-scroll-hint:
|
|
548
|
-
--surface-inverse: var(--color-
|
|
549
|
-
--surface-inverse-soft: var(--color-
|
|
553
|
+
--table-stroke: var(--color-wg3); /* table outline + row separators */
|
|
554
|
+
--table-header-foreground: var(--color-wg11); /* readable secondary table heading text */
|
|
555
|
+
--specimen-stroke: var(--color-wg3); /* showcase preview + variant-group frames */
|
|
556
|
+
--table-scroll-hint: color-mix(in srgb, var(--color-wg12) 4%, transparent); /* right-edge wash */
|
|
557
|
+
--surface-inverse: var(--color-wg12); /* dark hero / inverse surface base */
|
|
558
|
+
--surface-inverse-soft: var(--color-wg11);/* dark hero gradient falloff */
|
|
550
559
|
--artifact-canvas: color-mix(in srgb, var(--color-brand-mark) 7%, var(--color-white));
|
|
551
560
|
|
|
552
561
|
/* shadcn-compat raw surfaces — so a downstream shadcn Sidebar / Popover
|
|
@@ -669,7 +678,7 @@
|
|
|
669
678
|
}
|
|
670
679
|
|
|
671
680
|
.ask-empty-composer [data-slot="aui_composer-shell"] {
|
|
672
|
-
border-color: var(--color-
|
|
681
|
+
border-color: var(--color-wg4);
|
|
673
682
|
box-shadow: var(--shadow-200);
|
|
674
683
|
}
|
|
675
684
|
|
|
@@ -780,11 +789,11 @@
|
|
|
780
789
|
halftone dissolves from the BOTTOM upward (a soft mask band sweeps up
|
|
781
790
|
through it) while the whole layer drifts up and fades — cloud cover
|
|
782
791
|
breaking and rising, not a curtain covering it. The mask rests fully
|
|
783
|
-
opaque (element aligned with the
|
|
792
|
+
opaque (element aligned with the ink end of an oversized gradient), and
|
|
784
793
|
the lifted state slides the element to the transparent end. */
|
|
785
794
|
.ads-texture-lift {
|
|
786
|
-
mask-image: linear-gradient(to top, transparent 0%, transparent 42%,
|
|
787
|
-
-webkit-mask-image: linear-gradient(to top, transparent 0%, transparent 42%,
|
|
795
|
+
mask-image: linear-gradient(to top, transparent 0%, transparent 42%, var(--color-wg12) 58%, var(--color-wg12) 100%);
|
|
796
|
+
-webkit-mask-image: linear-gradient(to top, transparent 0%, transparent 42%, var(--color-wg12) 58%, var(--color-wg12) 100%);
|
|
788
797
|
mask-repeat: no-repeat;
|
|
789
798
|
-webkit-mask-repeat: no-repeat;
|
|
790
799
|
mask-size: 100% 240%;
|
|
@@ -959,7 +968,7 @@
|
|
|
959
968
|
/* Optional persistent inset (e.g. the field inner glow) — hosts opt in
|
|
960
969
|
via [--glow-inset:var(--inner-glow-field)]; carried through every
|
|
961
970
|
state below so hover/focus/invalid never strip it. */
|
|
962
|
-
--glow-inset: 0 0
|
|
971
|
+
--glow-inset: 0 0 transparent;
|
|
963
972
|
|
|
964
973
|
border-color: var(--glow-border-rest);
|
|
965
974
|
box-shadow: var(--glow-inset);
|
|
@@ -1156,14 +1165,10 @@
|
|
|
1156
1165
|
}
|
|
1157
1166
|
|
|
1158
1167
|
/* Comments become a placement mode while the comments panel is open. Keep
|
|
1159
|
-
the native cursor readable while
|
|
1160
|
-
used by the rest of the Artifact UI. */
|
|
1168
|
+
the native cursor readable while keeping placement precise. */
|
|
1161
1169
|
.artifact-comment-cursor,
|
|
1162
1170
|
.artifact-comment-cursor * {
|
|
1163
|
-
cursor:
|
|
1164
|
-
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Ccircle cx='14' cy='14' r='12' fill='white' stroke='%23242424' stroke-width='1.5'/%3E%3Cpath d='M8.5 9.5h11v7h-5.5l-3.5 3v-3h-2z' fill='%23242424'/%3E%3C/svg%3E")
|
|
1165
|
-
5 5,
|
|
1166
|
-
crosshair !important;
|
|
1171
|
+
cursor: crosshair !important;
|
|
1167
1172
|
}
|
|
1168
1173
|
/* Let the consumer's Tailwind discover the classes ADS components use. */
|
|
1169
1174
|
@source "./**/*.{js,mjs}";
|