@actioneer/ads 0.5.6 → 0.5.7
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/components/agent-icon.js +3 -2
- package/components/ai-elements/chain-of-thought-icon.d.ts +10 -12
- package/components/ai-elements/chain-of-thought-icon.js +341 -201
- package/components/ai-elements/chain-of-thought.d.ts +1 -1
- package/components/answer-sources.d.ts +42 -0
- package/components/answer-sources.js +111 -0
- package/components/assistant-ui/attachment.js +39 -39
- package/components/assistant-ui/composer-harness.js +5 -4
- package/components/assistant-ui/thread-context.d.ts +2 -0
- package/components/assistant-ui/thread.js +41 -40
- package/components/avatar.js +14 -14
- package/components/dropdown.d.ts +1 -1
- package/components/dropdown.js +1 -1
- package/components/empty-state.d.ts +4 -4
- package/components/index.d.ts +1 -0
- package/components/index.js +408 -403
- package/components/infinite-canvas.js +1 -1
- package/components/pixel-icon.d.ts +3 -1
- package/components/pixel-icon.js +294 -214
- package/components/segmented.d.ts +4 -1
- package/components/segmented.js +9 -8
- package/components/sidebar.d.ts +2 -2
- package/components/switch.js +22 -4
- package/components/table.d.ts +15 -7
- package/components/table.js +313 -199
- package/components/textarea.js +1 -2
- package/components/tooltip.js +1 -1
- package/components/ui/tooltip.js +5 -5
- package/lib/icons.d.ts +8 -0
- package/lib/icons.js +103 -101
- package/llms.txt +17 -8
- package/manifest.json +107 -14
- package/package.json +1 -1
- package/styles.css +42 -47
- package/theme.css +24 -45
package/styles.css
CHANGED
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
/*
|
|
32
32
|
* ============================================================
|
|
33
33
|
* ADS 1.0 — Design Tokens
|
|
34
|
-
*
|
|
34
|
+
* Palette: Ink neutrals · Typeface: Aribau Grotesk
|
|
35
35
|
* ============================================================
|
|
36
36
|
*/
|
|
37
37
|
@theme {
|
|
@@ -89,29 +89,8 @@
|
|
|
89
89
|
--color-ink-900: #636461; /* 11 · accessible text */
|
|
90
90
|
--color-ink-950: #1f1f1c; /* 12 · accessible text */
|
|
91
91
|
|
|
92
|
-
/* ---- Brand ramp — the full 12-step Sage green (light section, solid row),
|
|
93
|
-
same Radix roles as the neutral ramp. All 12 present: sage-850 (#417c36,
|
|
94
|
-
step 11 = the accessible green text tone) and sage-950 (#273d23, step 12)
|
|
95
|
-
are restored. The interactive brand (--brand #3f7a34) is step 9 (solid);
|
|
96
|
-
its hover is step 10 (#316c26). NOTE: steps 9–12 are not a pure lightness
|
|
97
|
-
ramp (Radix convention) — the Tailwind name order differs from role
|
|
98
|
-
order, so read the role comment, not the number. ---- */
|
|
99
|
-
--color-sage-50: #fbfefb; /* 1 · background */
|
|
100
|
-
--color-sage-100: #f6fbf5; /* 2 · background */
|
|
101
|
-
--color-sage-200: #e9f7e6; /* 3 · interactive */
|
|
102
|
-
--color-sage-300: #dbf1d6; /* 4 · interactive */
|
|
103
|
-
--color-sage-400: #cae8c5; /* 5 · interactive */
|
|
104
|
-
--color-sage-500: #b6dcaf; /* 6 · border */
|
|
105
|
-
--color-sage-600: #9ccc93; /* 7 · border */
|
|
106
|
-
--color-sage-700: #77b76b; /* 8 · border */
|
|
107
|
-
--color-sage-800: #3f7a34; /* 9 · solid (brand) */
|
|
108
|
-
--color-sage-900: #316c26; /* 10 · solid (hover) */
|
|
109
|
-
--color-sage-850: #417c36; /* 11 · accessible text */
|
|
110
|
-
--color-sage-950: #273d23; /* 12 · accessible text */
|
|
111
|
-
|
|
112
92
|
/* ---- Semantic accent ramps ---- */
|
|
113
|
-
/* Success
|
|
114
|
-
distinct from the warm Sage brand green. */
|
|
93
|
+
/* Success stays a semantic state color, never a product-primary hue. */
|
|
115
94
|
--color-success-50: #ecfdf5;
|
|
116
95
|
--color-success-100: #d1fae5;
|
|
117
96
|
--color-success-500: #10b981;
|
|
@@ -138,7 +117,7 @@
|
|
|
138
117
|
|
|
139
118
|
/* ---- Data-viz accents ---- three small ramps for charts & illustration.
|
|
140
119
|
deep = text/lines · base = fills · soft = backgrounds. Separate from the
|
|
141
|
-
semantic status ramps above; these
|
|
120
|
+
semantic status ramps above; these carry data, not product identity. */
|
|
142
121
|
--color-cyan-soft: #c7efe9; /* Cyan — vivid cool contrast; 2nd series, links */
|
|
143
122
|
--color-cyan-base: #12b5a5;
|
|
144
123
|
--color-cyan-deep: #0a7e82;
|
|
@@ -149,15 +128,15 @@
|
|
|
149
128
|
--color-amber-base: #f3a72e;
|
|
150
129
|
--color-amber-deep: #b57414;
|
|
151
130
|
|
|
152
|
-
/* ---- Radii ----
|
|
153
|
-
|
|
154
|
-
--radius-xs: 0.
|
|
155
|
-
--radius-sm: 0.
|
|
156
|
-
--radius-md: 0.
|
|
157
|
-
--radius-lg:
|
|
158
|
-
--radius-xl:
|
|
159
|
-
--radius-2xl:
|
|
160
|
-
--radius-full:
|
|
131
|
+
/* ---- Radii ---- TWO values only: 2px and 4px. Compact roles resolve to
|
|
132
|
+
2px; every surface and formerly pill-shaped role resolves to 4px. */
|
|
133
|
+
--radius-xs: 0.125rem; /* 2px */
|
|
134
|
+
--radius-sm: 0.125rem; /* 2px */
|
|
135
|
+
--radius-md: 0.25rem; /* 4px */
|
|
136
|
+
--radius-lg: 0.25rem; /* 4px */
|
|
137
|
+
--radius-xl: 0.25rem; /* 4px */
|
|
138
|
+
--radius-2xl: 0.25rem; /* 4px */
|
|
139
|
+
--radius-full: 0.25rem; /* 4px */
|
|
161
140
|
/* Status/indicator dots are SQUARE with a hair of softening — echoing the
|
|
162
141
|
growth-mark's square cells. Never render an indicator dot as a circle
|
|
163
142
|
(`rounded-full`); radio controls are the one exception (control
|
|
@@ -302,7 +281,7 @@
|
|
|
302
281
|
--color-card: var(--card);
|
|
303
282
|
--color-card-foreground: var(--card-foreground);
|
|
304
283
|
|
|
305
|
-
/*
|
|
284
|
+
/* Compatibility action role — neutral ink, never a colored primary hue. */
|
|
306
285
|
--color-brand: var(--brand);
|
|
307
286
|
--color-brand-foreground: var(--brand-foreground);
|
|
308
287
|
--color-brand-hover: var(--brand-hover);
|
|
@@ -361,10 +340,9 @@
|
|
|
361
340
|
|
|
362
341
|
/* ---- Theme (light only) ---- */
|
|
363
342
|
:root {
|
|
364
|
-
/* Every semantic token below points INTO
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
base surface, not a neutral scale step. */
|
|
343
|
+
/* Every neutral semantic token below points INTO the ink primitive scale.
|
|
344
|
+
Only pure white (#ffffff) stays literal: it is a base surface, not a
|
|
345
|
+
neutral scale step. */
|
|
368
346
|
--background: var(--color-ink-100); /* step 2 · canvas */
|
|
369
347
|
--foreground: var(--color-ink-950); /* step 12 */
|
|
370
348
|
|
|
@@ -384,11 +362,12 @@
|
|
|
384
362
|
--card: #ffffff; /* pure white base */
|
|
385
363
|
--card-foreground: var(--color-ink-950);
|
|
386
364
|
|
|
387
|
-
/*
|
|
388
|
-
|
|
365
|
+
/* Neutral action role. The `brand` name remains as a compatibility API,
|
|
366
|
+
but the product has no colored primary palette. */
|
|
367
|
+
--brand: var(--color-ink-950); /* darkest action ink */
|
|
389
368
|
--brand-foreground: #ffffff;
|
|
390
|
-
--brand-hover: var(--color-
|
|
391
|
-
--brand-text: var(--color-
|
|
369
|
+
--brand-hover: var(--color-ink-900); /* lighter hover lift */
|
|
370
|
+
--brand-text: var(--color-ink-950); /* action text / links */
|
|
392
371
|
|
|
393
372
|
/* Table interaction fills are pre-composited and opaque. Sticky edge cells
|
|
394
373
|
therefore cover horizontally scrolled content while preserving the
|
|
@@ -413,7 +392,7 @@
|
|
|
413
392
|
--input: var(--border-primary); /* form-control edge */
|
|
414
393
|
|
|
415
394
|
/* Ripple — the appearance wash that radiates from a floating surface's
|
|
416
|
-
origin corner as it opens (Dropdown/Popover/Select/Modal…). A soft
|
|
395
|
+
origin corner as it opens (Dropdown/Popover/Select/Modal…). A soft ink
|
|
417
396
|
tint that expands + fades once on mount; see the `.ads-ripple` layer and
|
|
418
397
|
the `Ripple` component. Duration stays in the sub-300ms UI band. */
|
|
419
398
|
--ripple-tint: color-mix(in srgb, var(--brand) 20%, transparent);
|
|
@@ -424,7 +403,7 @@
|
|
|
424
403
|
bottom of this file, so every `border`/`border-t|r|b|l|x|y` reads as a
|
|
425
404
|
true hairline. Explicit `border-2`+ widths are unaffected. */
|
|
426
405
|
--stroke-width: 0.5px;
|
|
427
|
-
--ring: color-mix(in srgb, var(--color-
|
|
406
|
+
--ring: color-mix(in srgb, var(--color-ink-950) 50%, transparent); /* ink @ 50% */
|
|
428
407
|
--overlay: color-mix(in srgb, var(--color-ink-950) 50%, transparent); /* ink-950 @ 50% */
|
|
429
408
|
|
|
430
409
|
/* Functional / domain tokens — named for their RENDER role, pointing into
|
|
@@ -445,7 +424,7 @@
|
|
|
445
424
|
/* shadcn-compat raw surfaces — so a downstream shadcn Sidebar / Popover
|
|
446
425
|
(or an inline `var(--sidebar)` / `var(--popover)`) resolves to the ADS
|
|
447
426
|
palette instead of shadcn's grey/black defaults. The sidebar reads as the
|
|
448
|
-
neutral canvas; its active item takes
|
|
427
|
+
neutral canvas; its active item takes action ink. A consumer that had
|
|
449
428
|
hard-coded these can now delete its overrides and inherit from here. */
|
|
450
429
|
--sidebar: var(--surface);
|
|
451
430
|
--sidebar-foreground: var(--foreground);
|
|
@@ -530,6 +509,22 @@
|
|
|
530
509
|
display: none;
|
|
531
510
|
}
|
|
532
511
|
|
|
512
|
+
/* Artifact widgets are positioned by GridStack; ADS cards own the visible
|
|
513
|
+
surface while the library content wrapper only clips during interaction.
|
|
514
|
+
The subtle elevation lives on the wrapper (not the inner card) because the
|
|
515
|
+
wrapper's own `overflow: hidden` would clip a shadow drawn on its child. */
|
|
516
|
+
.artifact-grid-stack > .grid-stack-item > .grid-stack-item-content {
|
|
517
|
+
overflow: hidden;
|
|
518
|
+
border-radius: var(--radius-lg);
|
|
519
|
+
box-shadow: var(--shadow-elevation);
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
.artifact-grid-stack > .grid-stack-placeholder > .placeholder-content {
|
|
523
|
+
border: 1px dashed var(--color-border-strong);
|
|
524
|
+
border-radius: var(--radius-sm);
|
|
525
|
+
background: var(--color-muted);
|
|
526
|
+
}
|
|
527
|
+
|
|
533
528
|
/* BrandTexture entrance (src/components/brand-texture.tsx): a radial bloom —
|
|
534
529
|
the halftone reveals from the centre out to the corners (clip-path circle)
|
|
535
530
|
while gently scaling up to rest. `from{}`-only keyframe, so it settles into
|
|
@@ -718,7 +713,7 @@
|
|
|
718
713
|
}
|
|
719
714
|
::-webkit-scrollbar-thumb {
|
|
720
715
|
background: var(--border-strong);
|
|
721
|
-
border-radius:
|
|
716
|
+
border-radius: var(--radius-lg);
|
|
722
717
|
border: 2px solid var(--background);
|
|
723
718
|
}
|
|
724
719
|
::-webkit-scrollbar-thumb:hover {
|
|
@@ -1009,7 +1004,7 @@
|
|
|
1009
1004
|
width: 1rem;
|
|
1010
1005
|
border-bottom: 1px solid var(--border-strong);
|
|
1011
1006
|
border-left: 1px solid var(--border-strong);
|
|
1012
|
-
border-bottom-left-radius:
|
|
1007
|
+
border-bottom-left-radius: var(--radius-lg);
|
|
1013
1008
|
}
|
|
1014
1009
|
/* Let the consumer's Tailwind discover the classes ADS components use. */
|
|
1015
1010
|
@source "./**/*.{js,mjs}";
|
package/theme.css
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/*
|
|
3
3
|
* ============================================================
|
|
4
4
|
* ADS 1.0 — Design Tokens
|
|
5
|
-
*
|
|
5
|
+
* Palette: Ink neutrals · Typeface: Aribau Grotesk
|
|
6
6
|
* ============================================================
|
|
7
7
|
*/
|
|
8
8
|
@theme {
|
|
@@ -60,29 +60,8 @@
|
|
|
60
60
|
--color-ink-900: #636461; /* 11 · accessible text */
|
|
61
61
|
--color-ink-950: #1f1f1c; /* 12 · accessible text */
|
|
62
62
|
|
|
63
|
-
/* ---- Brand ramp — the full 12-step Sage green (light section, solid row),
|
|
64
|
-
same Radix roles as the neutral ramp. All 12 present: sage-850 (#417c36,
|
|
65
|
-
step 11 = the accessible green text tone) and sage-950 (#273d23, step 12)
|
|
66
|
-
are restored. The interactive brand (--brand #3f7a34) is step 9 (solid);
|
|
67
|
-
its hover is step 10 (#316c26). NOTE: steps 9–12 are not a pure lightness
|
|
68
|
-
ramp (Radix convention) — the Tailwind name order differs from role
|
|
69
|
-
order, so read the role comment, not the number. ---- */
|
|
70
|
-
--color-sage-50: #fbfefb; /* 1 · background */
|
|
71
|
-
--color-sage-100: #f6fbf5; /* 2 · background */
|
|
72
|
-
--color-sage-200: #e9f7e6; /* 3 · interactive */
|
|
73
|
-
--color-sage-300: #dbf1d6; /* 4 · interactive */
|
|
74
|
-
--color-sage-400: #cae8c5; /* 5 · interactive */
|
|
75
|
-
--color-sage-500: #b6dcaf; /* 6 · border */
|
|
76
|
-
--color-sage-600: #9ccc93; /* 7 · border */
|
|
77
|
-
--color-sage-700: #77b76b; /* 8 · border */
|
|
78
|
-
--color-sage-800: #3f7a34; /* 9 · solid (brand) */
|
|
79
|
-
--color-sage-900: #316c26; /* 10 · solid (hover) */
|
|
80
|
-
--color-sage-850: #417c36; /* 11 · accessible text */
|
|
81
|
-
--color-sage-950: #273d23; /* 12 · accessible text */
|
|
82
|
-
|
|
83
63
|
/* ---- Semantic accent ramps ---- */
|
|
84
|
-
/* Success
|
|
85
|
-
distinct from the warm Sage brand green. */
|
|
64
|
+
/* Success stays a semantic state color, never a product-primary hue. */
|
|
86
65
|
--color-success-50: #ecfdf5;
|
|
87
66
|
--color-success-100: #d1fae5;
|
|
88
67
|
--color-success-500: #10b981;
|
|
@@ -109,7 +88,7 @@
|
|
|
109
88
|
|
|
110
89
|
/* ---- Data-viz accents ---- three small ramps for charts & illustration.
|
|
111
90
|
deep = text/lines · base = fills · soft = backgrounds. Separate from the
|
|
112
|
-
semantic status ramps above; these
|
|
91
|
+
semantic status ramps above; these carry data, not product identity. */
|
|
113
92
|
--color-cyan-soft: #c7efe9; /* Cyan — vivid cool contrast; 2nd series, links */
|
|
114
93
|
--color-cyan-base: #12b5a5;
|
|
115
94
|
--color-cyan-deep: #0a7e82;
|
|
@@ -120,15 +99,15 @@
|
|
|
120
99
|
--color-amber-base: #f3a72e;
|
|
121
100
|
--color-amber-deep: #b57414;
|
|
122
101
|
|
|
123
|
-
/* ---- Radii ----
|
|
124
|
-
|
|
125
|
-
--radius-xs: 0.
|
|
126
|
-
--radius-sm: 0.
|
|
127
|
-
--radius-md: 0.
|
|
128
|
-
--radius-lg:
|
|
129
|
-
--radius-xl:
|
|
130
|
-
--radius-2xl:
|
|
131
|
-
--radius-full:
|
|
102
|
+
/* ---- Radii ---- TWO values only: 2px and 4px. Compact roles resolve to
|
|
103
|
+
2px; every surface and formerly pill-shaped role resolves to 4px. */
|
|
104
|
+
--radius-xs: 0.125rem; /* 2px */
|
|
105
|
+
--radius-sm: 0.125rem; /* 2px */
|
|
106
|
+
--radius-md: 0.25rem; /* 4px */
|
|
107
|
+
--radius-lg: 0.25rem; /* 4px */
|
|
108
|
+
--radius-xl: 0.25rem; /* 4px */
|
|
109
|
+
--radius-2xl: 0.25rem; /* 4px */
|
|
110
|
+
--radius-full: 0.25rem; /* 4px */
|
|
132
111
|
/* Status/indicator dots are SQUARE with a hair of softening — echoing the
|
|
133
112
|
growth-mark's square cells. Never render an indicator dot as a circle
|
|
134
113
|
(`rounded-full`); radio controls are the one exception (control
|
|
@@ -273,7 +252,7 @@
|
|
|
273
252
|
--color-card: var(--card);
|
|
274
253
|
--color-card-foreground: var(--card-foreground);
|
|
275
254
|
|
|
276
|
-
/*
|
|
255
|
+
/* Compatibility action role — neutral ink, never a colored primary hue. */
|
|
277
256
|
--color-brand: var(--brand);
|
|
278
257
|
--color-brand-foreground: var(--brand-foreground);
|
|
279
258
|
--color-brand-hover: var(--brand-hover);
|
|
@@ -332,10 +311,9 @@
|
|
|
332
311
|
|
|
333
312
|
/* ---- Theme (light only) ---- */
|
|
334
313
|
:root {
|
|
335
|
-
/* Every semantic token below points INTO
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
base surface, not a neutral scale step. */
|
|
314
|
+
/* Every neutral semantic token below points INTO the ink primitive scale.
|
|
315
|
+
Only pure white (#ffffff) stays literal: it is a base surface, not a
|
|
316
|
+
neutral scale step. */
|
|
339
317
|
--background: var(--color-ink-100); /* step 2 · canvas */
|
|
340
318
|
--foreground: var(--color-ink-950); /* step 12 */
|
|
341
319
|
|
|
@@ -355,11 +333,12 @@
|
|
|
355
333
|
--card: #ffffff; /* pure white base */
|
|
356
334
|
--card-foreground: var(--color-ink-950);
|
|
357
335
|
|
|
358
|
-
/*
|
|
359
|
-
|
|
336
|
+
/* Neutral action role. The `brand` name remains as a compatibility API,
|
|
337
|
+
but the product has no colored primary palette. */
|
|
338
|
+
--brand: var(--color-ink-950); /* darkest action ink */
|
|
360
339
|
--brand-foreground: #ffffff;
|
|
361
|
-
--brand-hover: var(--color-
|
|
362
|
-
--brand-text: var(--color-
|
|
340
|
+
--brand-hover: var(--color-ink-900); /* lighter hover lift */
|
|
341
|
+
--brand-text: var(--color-ink-950); /* action text / links */
|
|
363
342
|
|
|
364
343
|
/* Table interaction fills are pre-composited and opaque. Sticky edge cells
|
|
365
344
|
therefore cover horizontally scrolled content while preserving the
|
|
@@ -384,7 +363,7 @@
|
|
|
384
363
|
--input: var(--border-primary); /* form-control edge */
|
|
385
364
|
|
|
386
365
|
/* Ripple — the appearance wash that radiates from a floating surface's
|
|
387
|
-
origin corner as it opens (Dropdown/Popover/Select/Modal…). A soft
|
|
366
|
+
origin corner as it opens (Dropdown/Popover/Select/Modal…). A soft ink
|
|
388
367
|
tint that expands + fades once on mount; see the `.ads-ripple` layer and
|
|
389
368
|
the `Ripple` component. Duration stays in the sub-300ms UI band. */
|
|
390
369
|
--ripple-tint: color-mix(in srgb, var(--brand) 20%, transparent);
|
|
@@ -395,7 +374,7 @@
|
|
|
395
374
|
bottom of this file, so every `border`/`border-t|r|b|l|x|y` reads as a
|
|
396
375
|
true hairline. Explicit `border-2`+ widths are unaffected. */
|
|
397
376
|
--stroke-width: 0.5px;
|
|
398
|
-
--ring: color-mix(in srgb, var(--color-
|
|
377
|
+
--ring: color-mix(in srgb, var(--color-ink-950) 50%, transparent); /* ink @ 50% */
|
|
399
378
|
--overlay: color-mix(in srgb, var(--color-ink-950) 50%, transparent); /* ink-950 @ 50% */
|
|
400
379
|
|
|
401
380
|
/* Functional / domain tokens — named for their RENDER role, pointing into
|
|
@@ -416,7 +395,7 @@
|
|
|
416
395
|
/* shadcn-compat raw surfaces — so a downstream shadcn Sidebar / Popover
|
|
417
396
|
(or an inline `var(--sidebar)` / `var(--popover)`) resolves to the ADS
|
|
418
397
|
palette instead of shadcn's grey/black defaults. The sidebar reads as the
|
|
419
|
-
neutral canvas; its active item takes
|
|
398
|
+
neutral canvas; its active item takes action ink. A consumer that had
|
|
420
399
|
hard-coded these can now delete its overrides and inherit from here. */
|
|
421
400
|
--sidebar: var(--surface);
|
|
422
401
|
--sidebar-foreground: var(--foreground);
|