@actioneer/ads 0.6.0 → 0.7.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/components/ai-elements/agent-trace.d.ts +2 -2
- package/components/ai-elements/agent-trace.js +163 -104
- package/components/ai-elements/chain-of-thought.d.ts +2 -2
- package/components/ai-elements/chain-of-thought.js +1 -1
- package/components/ai-elements/index.d.ts +0 -5
- package/components/ai-elements/inline-citation.js +1 -1
- package/components/alert.d.ts +6 -6
- package/components/alert.js +89 -53
- package/components/answer-sources.d.ts +2 -6
- package/components/answer-sources.js +58 -60
- package/components/answer.d.ts +5 -0
- package/components/answer.js +311 -271
- package/components/assistant-ui/composer-harness.js +15 -20
- package/components/assistant-ui/composer.d.ts +3 -1
- package/components/assistant-ui/composer.js +148 -144
- package/components/assistant-ui/index.d.ts +0 -3
- package/components/assistant-ui/thread-context.d.ts +3 -1
- package/components/assistant-ui/thread.js +50 -42
- package/components/avatar.js +42 -42
- package/components/badge.d.ts +5 -6
- package/components/badge.js +13 -76
- package/components/body-page-header.d.ts +15 -0
- package/components/body-page-header.js +24 -0
- package/components/brand-loader.d.ts +0 -3
- package/components/brand-loader.js +10 -32
- package/components/breadcrumbs.d.ts +0 -7
- package/components/breadcrumbs.js +54 -71
- package/components/button.d.ts +1 -1
- package/components/button.js +55 -49
- package/components/chart.js +298 -296
- package/components/chip.d.ts +13 -1
- package/components/chip.js +93 -80
- package/components/collection-header.d.ts +17 -0
- package/components/collection-header.js +31 -0
- package/components/connector-card.d.ts +6 -6
- package/components/connector-card.js +31 -32
- package/components/date-range-picker.d.ts +2 -1
- package/components/date-range-picker.js +158 -122
- package/components/drawer.d.ts +19 -3
- package/components/drawer.js +109 -100
- package/components/dropdown.d.ts +1 -2
- package/components/dropdown.js +88 -89
- package/components/field.js +39 -34
- package/components/file-dropzone.js +1 -1
- package/components/index.d.ts +4 -4
- package/components/index.js +499 -546
- package/components/infinite-canvas.js +24 -24
- package/components/input-field.d.ts +18 -3
- package/components/input-field.js +88 -72
- package/components/input.js +16 -15
- package/components/modal.d.ts +31 -3
- package/components/modal.js +243 -169
- package/components/number-field.js +45 -42
- package/components/page-body.d.ts +12 -0
- package/components/page-body.js +18 -0
- package/components/pagination.js +36 -36
- package/components/select.d.ts +21 -0
- package/components/select.js +189 -148
- package/components/setting-row.d.ts +6 -5
- package/components/setting-row.js +33 -32
- package/components/sidebar.d.ts +2 -0
- package/components/sidebar.js +165 -155
- package/components/skeleton.js +8 -7
- package/components/slider.js +1 -1
- package/components/surface-loader.d.ts +11 -0
- package/components/surface-loader.js +35 -0
- package/components/table.d.ts +16 -10
- package/components/table.js +426 -410
- package/components/tabs.d.ts +2 -0
- package/components/tabs.js +159 -294
- package/components/textarea.js +9 -9
- package/components/toast.d.ts +1 -1
- package/components/toast.js +181 -118
- package/components/tree.d.ts +5 -1
- package/components/tree.js +54 -49
- package/components/typography.d.ts +4 -4
- package/components/typography.js +13 -13
- package/components/ui/button.d.ts +1 -1
- package/components/ui/dialog.js +33 -33
- package/demo/components/add-to-artifact.js +6 -10
- package/lib/cn.js +11 -4
- package/lib/icons.d.ts +4 -0
- package/lib/icons.js +107 -106
- package/lib/interactive.d.ts +1 -1
- package/llms.txt +95 -152
- package/manifest.json +1628 -2729
- package/package.json +1 -2
- package/styles.css +347 -223
- package/theme.css +303 -177
- package/components/agent-icon.d.ts +0 -76
- package/components/agent-icon.js +0 -265
- package/components/ai-elements/queue.d.ts +0 -60
- package/components/ai-elements/queue.js +0 -193
- package/components/ai-elements/speech-input.d.ts +0 -16
- package/components/ai-elements/speech-input.js +0 -151
- package/components/ai-elements/task-progress.d.ts +0 -41
- package/components/ai-elements/task-progress.js +0 -224
- package/components/ai-elements/task.d.ts +0 -39
- package/components/ai-elements/task.js +0 -105
- package/components/ai-elements/voice.d.ts +0 -90
- package/components/ai-elements/voice.js +0 -496
- package/components/assistant-ui/follow-up-suggestions.d.ts +0 -11
- package/components/assistant-ui/follow-up-suggestions.js +0 -72
- package/components/assistant-ui/suggestions.d.ts +0 -7
- package/components/assistant-ui/suggestions.js +0 -19
- package/components/assistant-ui/voice.d.ts +0 -18
- package/components/link.d.ts +0 -14
- package/components/link.js +0 -72
- package/components/navbar.d.ts +0 -15
- package/components/navbar.js +0 -68
- package/components/pixel-icon.d.ts +0 -37
- package/components/pixel-icon.js +0 -859
package/theme.css
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
/*
|
|
9
9
|
* ============================================================
|
|
10
10
|
* ADS 1.0 — Design Tokens
|
|
11
|
-
* Palette:
|
|
11
|
+
* Palette: soft neutral greys + product green
|
|
12
12
|
* Typeface: Aribau Grotesk
|
|
13
13
|
* ============================================================
|
|
14
14
|
*/
|
|
@@ -26,86 +26,160 @@
|
|
|
26
26
|
--font-mono: "JetBrains Mono Variable", ui-monospace, SFMono-Regular,
|
|
27
27
|
"SF Mono", Menlo, Consolas, "Liberation Mono", "Courier New", monospace;
|
|
28
28
|
|
|
29
|
-
/* ---- Type scale ----
|
|
30
|
-
|
|
31
|
-
/*
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
--text-
|
|
35
|
-
--text-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
--text-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
--text-
|
|
44
|
-
--text-
|
|
45
|
-
--text-
|
|
46
|
-
--text-
|
|
47
|
-
--text-
|
|
48
|
-
--text-
|
|
49
|
-
--text-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
--color-
|
|
61
|
-
--color-
|
|
62
|
-
--color-
|
|
63
|
-
--color-
|
|
64
|
-
--color-
|
|
65
|
-
--color-
|
|
66
|
-
--color-
|
|
67
|
-
--color-
|
|
68
|
-
--color-
|
|
69
|
-
--color-
|
|
70
|
-
|
|
71
|
-
--color-
|
|
72
|
-
--color-
|
|
29
|
+
/* ---- Type scale ---- five canonical steps: S · M · L · XL · 2XL.
|
|
30
|
+
Root stays 16px so spacing is unaffected. */
|
|
31
|
+
--text-s: 0.8125rem; /* 13px · captions, secondary text, table cells */
|
|
32
|
+
--text-s--line-height: 1.125rem; /* 18px */
|
|
33
|
+
--text-m: 0.9375rem; /* 15px · default body */
|
|
34
|
+
--text-m--line-height: 1.375rem; /* 22px */
|
|
35
|
+
--text-l: 1.1875rem; /* 19px · emphasized body, section headings */
|
|
36
|
+
--text-l--line-height: 1.625rem; /* 26px */
|
|
37
|
+
--text-xl: 1.5625rem; /* 25px · page titles */
|
|
38
|
+
--text-xl--line-height: 2rem; /* 32px */
|
|
39
|
+
--text-2xl: 1.9375rem; /* 31px · display */
|
|
40
|
+
--text-2xl--line-height: 2.375rem; /* 38px */
|
|
41
|
+
|
|
42
|
+
/* Compatibility aliases keep existing ADS consumers on the new scale. */
|
|
43
|
+
--text-xs: var(--text-s);
|
|
44
|
+
--text-xs--line-height: var(--text-s--line-height);
|
|
45
|
+
--text-sm: var(--text-s);
|
|
46
|
+
--text-sm--line-height: var(--text-s--line-height);
|
|
47
|
+
--text-base: var(--text-m);
|
|
48
|
+
--text-base--line-height: var(--text-m--line-height);
|
|
49
|
+
--text-lg: var(--text-l);
|
|
50
|
+
--text-lg--line-height: var(--text-l--line-height);
|
|
51
|
+
|
|
52
|
+
/* ---- Foundation palette ----
|
|
53
|
+
Canonical primitive names:
|
|
54
|
+
G1…G12 = Green · NG1…NG12 = Neutral Grey.
|
|
55
|
+
Each ramp progresses from light backgrounds and interactive fills through
|
|
56
|
+
supporting tones to solid colors and accessible text. Neutral UI borders
|
|
57
|
+
are intentionally restricted to NG3–NG5. ---- */
|
|
58
|
+
--color-g1: #f7f9f7;
|
|
59
|
+
--color-g2: #eef5f0;
|
|
60
|
+
--color-g3: #e2efe5;
|
|
61
|
+
--color-g4: #cce4d2;
|
|
62
|
+
--color-g5: #b4d8be;
|
|
63
|
+
--color-g6: #9bcbaa;
|
|
64
|
+
--color-g7: #7db78f;
|
|
65
|
+
--color-g8: #5c9c73;
|
|
66
|
+
--color-g9: #398457;
|
|
67
|
+
--color-g10: #2b7348;
|
|
68
|
+
--color-g11: #1f623b;
|
|
69
|
+
--color-g12: #183c28;
|
|
70
|
+
|
|
71
|
+
--color-ng1: #fafafa;
|
|
72
|
+
--color-ng2: #f6f6f6;
|
|
73
|
+
--color-ng3: #f1f1f1;
|
|
74
|
+
--color-ng4: #ececec;
|
|
75
|
+
--color-ng5: #e6e6e6;
|
|
76
|
+
--color-ng6: #dedede;
|
|
77
|
+
--color-ng7: #d4d4d4;
|
|
78
|
+
--color-ng8: #bdbdbd;
|
|
79
|
+
--color-ng9: #868686;
|
|
80
|
+
--color-ng10: #7c7b7b;
|
|
81
|
+
--color-ng11: #5e5d5d;
|
|
82
|
+
--color-ng12: #202020;
|
|
83
|
+
|
|
84
|
+
/* Deprecated Warm Grey names now resolve to Neutral Grey. Keep these
|
|
85
|
+
aliases so existing consumer utilities continue to render safely. */
|
|
86
|
+
--color-wg1: var(--color-ng1);
|
|
87
|
+
--color-wg2: var(--color-ng2);
|
|
88
|
+
--color-wg3: var(--color-ng3);
|
|
89
|
+
--color-wg4: var(--color-ng4);
|
|
90
|
+
--color-wg5: var(--color-ng5);
|
|
91
|
+
--color-wg6: var(--color-ng6);
|
|
92
|
+
--color-wg7: var(--color-ng7);
|
|
93
|
+
--color-wg8: var(--color-ng8);
|
|
94
|
+
--color-wg9: var(--color-ng9);
|
|
95
|
+
--color-wg10: var(--color-ng10);
|
|
96
|
+
--color-wg11: var(--color-ng11);
|
|
97
|
+
--color-wg12: var(--color-ng12);
|
|
98
|
+
|
|
99
|
+
--color-white: #ffffff;
|
|
100
|
+
|
|
101
|
+
/* Compatibility aliases preserve the existing ADS utility/API surface. */
|
|
102
|
+
--color-green-50: var(--color-g1);
|
|
103
|
+
--color-green-100: var(--color-g2);
|
|
104
|
+
--color-green-200: var(--color-g3);
|
|
105
|
+
--color-green-300: var(--color-g4);
|
|
106
|
+
--color-green-400: var(--color-g5);
|
|
107
|
+
--color-green-500: var(--color-g6);
|
|
108
|
+
--color-green-600: var(--color-g7);
|
|
109
|
+
--color-green-700: var(--color-g8);
|
|
110
|
+
--color-green-800: var(--color-g9);
|
|
111
|
+
--color-green-850: var(--color-g10);
|
|
112
|
+
--color-green-900: var(--color-g11);
|
|
113
|
+
--color-green-950: var(--color-g12);
|
|
114
|
+
|
|
115
|
+
--color-grey-50: var(--color-ng1);
|
|
116
|
+
--color-grey-100: var(--color-ng2);
|
|
117
|
+
--color-grey-200: var(--color-ng3);
|
|
118
|
+
--color-grey-300: var(--color-ng4);
|
|
119
|
+
--color-grey-400: var(--color-ng5);
|
|
120
|
+
--color-grey-500: var(--color-ng6);
|
|
121
|
+
--color-grey-600: var(--color-ng7);
|
|
122
|
+
--color-grey-700: var(--color-ng8);
|
|
123
|
+
--color-grey-800: var(--color-ng9);
|
|
124
|
+
--color-grey-850: var(--color-ng10);
|
|
125
|
+
--color-grey-900: var(--color-ng11);
|
|
126
|
+
--color-grey-950: var(--color-ng12);
|
|
127
|
+
|
|
128
|
+
--color-ink-50: var(--color-ng1);
|
|
129
|
+
--color-ink-100: var(--color-ng2);
|
|
130
|
+
--color-ink-200: var(--color-ng3);
|
|
131
|
+
--color-ink-300: var(--color-ng4);
|
|
132
|
+
--color-ink-400: var(--color-ng5);
|
|
133
|
+
--color-ink-500: var(--color-ng6);
|
|
134
|
+
--color-ink-600: var(--color-ng7);
|
|
135
|
+
--color-ink-700: var(--color-ng8);
|
|
136
|
+
--color-ink-800: var(--color-ng9);
|
|
137
|
+
--color-ink-850: var(--color-ng10);
|
|
138
|
+
--color-ink-900: var(--color-ng11);
|
|
139
|
+
--color-ink-950: var(--color-ng12);
|
|
73
140
|
|
|
74
141
|
/* ---- Semantic accent ramps ---- */
|
|
75
|
-
/* Success
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
--color-success-
|
|
79
|
-
--color-success-
|
|
80
|
-
--color-success-
|
|
142
|
+
/* Success uses the lichen lime family and stays status-only. The original
|
|
143
|
+
soft/base/deep anchors map to 50/500/600; 100 and 400 bridge the soft fill
|
|
144
|
+
and base, while 700 deepens the family enough for AA text on White. */
|
|
145
|
+
--color-success-50: #e4efcf;
|
|
146
|
+
--color-success-100: #d4e5b5;
|
|
147
|
+
--color-success-300: #c4dc9b;
|
|
148
|
+
--color-success-400: #b4d281;
|
|
149
|
+
--color-success-500: #a3c765;
|
|
150
|
+
--color-success-600: #6e8f30;
|
|
151
|
+
--color-success-700: #516923;
|
|
81
152
|
|
|
82
153
|
--color-warning-50: #fffaeb;
|
|
83
154
|
--color-warning-100: #fef0c7;
|
|
155
|
+
--color-warning-300: #f9d68f;
|
|
156
|
+
--color-warning-400: #f4bc57;
|
|
84
157
|
--color-warning-500: #f79009;
|
|
85
158
|
--color-warning-600: #dc6803;
|
|
86
159
|
--color-warning-700: #b54708;
|
|
87
160
|
|
|
88
161
|
--color-danger-50: #fef3f2;
|
|
89
162
|
--color-danger-100: #fee4e2;
|
|
163
|
+
--color-danger-300: #f8bab5;
|
|
164
|
+
--color-danger-400: #f18f87;
|
|
90
165
|
--color-danger-500: #f04438;
|
|
91
166
|
--color-danger-600: #d92d20;
|
|
92
167
|
--color-danger-700: #b42318;
|
|
93
168
|
|
|
94
169
|
--color-info-50: #eff8ff;
|
|
95
170
|
--color-info-100: #d1e9ff;
|
|
171
|
+
--color-info-300: #a7d3f8;
|
|
172
|
+
--color-info-400: #7dbdf1;
|
|
96
173
|
--color-info-500: #2e90fa;
|
|
97
174
|
--color-info-600: #1570ef;
|
|
98
175
|
--color-info-700: #175cd3;
|
|
99
176
|
|
|
100
|
-
/* ---- Data-viz accents ----
|
|
177
|
+
/* ---- Data-viz accents ---- two small ramps for charts & illustration.
|
|
101
178
|
deep = text/lines · base = fills · soft = backgrounds. Separate from the
|
|
102
179
|
semantic status ramps above; these carry data, not product identity. */
|
|
103
180
|
--color-cyan-soft: #c7efe9; /* Cyan — vivid cool contrast; 2nd series, links */
|
|
104
181
|
--color-cyan-base: #12b5a5;
|
|
105
182
|
--color-cyan-deep: #0a7e82;
|
|
106
|
-
--color-lime-soft: #e4efcf; /* Lichen lime — energetic pop from the mark */
|
|
107
|
-
--color-lime-base: #a3c765;
|
|
108
|
-
--color-lime-deep: #6e8f30;
|
|
109
183
|
--color-amber-soft: #fce6c0; /* Amber — warm pop; highlights, "new" */
|
|
110
184
|
--color-amber-base: #f3a72e;
|
|
111
185
|
--color-amber-deep: #b57414;
|
|
@@ -113,18 +187,21 @@
|
|
|
113
187
|
/* Demo logo indigo — source for artifact canvas wash. */
|
|
114
188
|
--color-brand-mark: #2e1065;
|
|
115
189
|
|
|
116
|
-
/* ---- Radii ----
|
|
117
|
-
|
|
118
|
-
8px = menus, cards, panels, and large surfaces. Repeated aliases keep the
|
|
119
|
-
familiar Tailwind role names while capping every surface at 8px. */
|
|
190
|
+
/* ---- Radii ---- five canonical steps: XS · S · M · L · XL.
|
|
191
|
+
M (6px) is the default corner radius. */
|
|
120
192
|
--radius-xs: 0.125rem; /* 2px · micro details */
|
|
121
|
-
--radius-
|
|
122
|
-
--radius-
|
|
123
|
-
--radius-
|
|
124
|
-
--radius-xl: 0.
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
--radius-
|
|
193
|
+
--radius-s: 0.25rem; /* 4px · compact controls */
|
|
194
|
+
--radius-m: 0.375rem; /* 6px · default controls and surfaces */
|
|
195
|
+
--radius-l: 0.5rem; /* 8px · menus and cards */
|
|
196
|
+
--radius-xl: 0.75rem; /* 12px · large panels and feature surfaces */
|
|
197
|
+
|
|
198
|
+
/* Compatibility aliases preserve existing ADS utilities. */
|
|
199
|
+
--radius-sm: var(--radius-s);
|
|
200
|
+
--radius-md: var(--radius-m);
|
|
201
|
+
--radius-lg: var(--radius-l);
|
|
202
|
+
--radius-2xl: var(--radius-xl);
|
|
203
|
+
--radius-3xl: var(--radius-xl);
|
|
204
|
+
--radius-4xl: var(--radius-xl);
|
|
128
205
|
/* Shape-only exception for avatars, icon buttons, progress tracks, chips,
|
|
129
206
|
and badges. It is not part of the corner-radius scale. */
|
|
130
207
|
--radius-full: 9999px;
|
|
@@ -134,32 +211,40 @@
|
|
|
134
211
|
convention). */
|
|
135
212
|
--radius-dot: 2px;
|
|
136
213
|
|
|
137
|
-
/* ---- Elevation ----
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
--shadow-
|
|
142
|
-
|
|
214
|
+
/* ---- Elevation ---- Shopify-inspired 0–600 ladder, recolored with NG12.
|
|
215
|
+
Geometry and opacity increase together; static surfaces remain at 0. */
|
|
216
|
+
--shadow-0: none;
|
|
217
|
+
--shadow-100: 0 1px 0 0 rgb(32 32 32 / 0.07);
|
|
218
|
+
--shadow-200: 0 3px 1px -1px rgb(32 32 32 / 0.07);
|
|
219
|
+
--shadow-300: 0 4px 6px -2px rgb(32 32 32 / 0.2);
|
|
220
|
+
--shadow-400: 0 8px 16px -4px rgb(32 32 32 / 0.22);
|
|
221
|
+
--shadow-500: 0 12px 20px -8px rgb(32 32 32 / 0.24);
|
|
222
|
+
--shadow-600: 0 20px 20px -8px rgb(32 32 32 / 0.28);
|
|
223
|
+
|
|
224
|
+
/* Compatibility hook stays flat. Apply a numbered level only when the user
|
|
225
|
+
explicitly requests elevation for a named surface. */
|
|
226
|
+
--shadow-elevation: var(--shadow-0);
|
|
143
227
|
|
|
144
228
|
/* Pinned-table-column smudges — whisper-soft directional casts shown only
|
|
145
229
|
while content is hidden behind a sticky column (Table is scroll-aware).
|
|
146
|
-
Deep negative spread keeps the edge feathered; the tint is
|
|
147
|
-
--shadow-table-smudge-left: 8px 0 24px -14px rgb(
|
|
148
|
-
--shadow-table-smudge-right: -8px 0 24px -14px rgb(
|
|
149
|
-
|
|
150
|
-
/* ----
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
--inner-glow-cta: inset 0 1px 0
|
|
154
|
-
inset 0
|
|
155
|
-
inset 0
|
|
156
|
-
/*
|
|
157
|
-
|
|
158
|
-
--inner-glow-fill: inset 0 1px 0 0
|
|
159
|
-
inset 0
|
|
230
|
+
Deep negative spread keeps the edge feathered; the tint is neutral grey. */
|
|
231
|
+
--shadow-table-smudge-left: 8px 0 24px -14px rgb(32 32 32 / 0.05);
|
|
232
|
+
--shadow-table-smudge-right: -8px 0 24px -14px rgb(32 32 32 / 0.05);
|
|
233
|
+
|
|
234
|
+
/* ---- Button inset depth ---- Polaris-inspired stacked inner edges. The
|
|
235
|
+
lower contact line, quiet inner outline, and half-pixel top catch make
|
|
236
|
+
solid actions feel tactile without adding a decorative outer border. */
|
|
237
|
+
--inner-glow-cta: inset 0 -1px 0 1px rgb(32 32 32 / 0.22),
|
|
238
|
+
inset 0 0 0 1px rgb(32 32 32 / 0.12),
|
|
239
|
+
inset 0 0.5px 0 1.5px rgb(255 255 255 / 0.28);
|
|
240
|
+
/* Compatibility treatment for explicitly raised light fills. Its visible
|
|
241
|
+
edge is entirely inset, so it keeps a transparent outer border. */
|
|
242
|
+
--inner-glow-fill: inset 0 -1px 0 0 var(--border-primary),
|
|
243
|
+
inset 0 0 0 1px rgb(32 32 32 / 0.1),
|
|
244
|
+
inset 0 0.5px 0 1.5px rgb(255 255 255 / 0.86);
|
|
160
245
|
/* Text fields — a whisper of inset depth so the writing surface reads
|
|
161
246
|
recessed into the page (persists through hover/focus/invalid). */
|
|
162
|
-
--inner-glow-field: inset 0 1px 2px 0 rgb(
|
|
247
|
+
--inner-glow-field: inset 0 1px 2px 0 rgb(32 32 32 / 0.06);
|
|
163
248
|
|
|
164
249
|
/* ---- Layout ---- app-frame dimensions (Sidebar / Panel) */
|
|
165
250
|
--sidebar-width: 15rem; /* 240px — primary nav rail */
|
|
@@ -168,7 +253,7 @@
|
|
|
168
253
|
--sidebar-item: 2rem; /* 32px — collapsed rail hit target (square) */
|
|
169
254
|
--sidebar-logo: 1.25rem; /* 20px — brand mark, centered in a --sidebar-item square */
|
|
170
255
|
--sidebar-text-indent: 2.375rem; /* px-3 + icon size-4 + gap-2.5 — history rows align to nav-item text */
|
|
171
|
-
--sidebar-navigation-text-size: var(--text-
|
|
256
|
+
--sidebar-navigation-text-size: var(--text-m); /* 15px — sidebar actions, items, history, and account text */
|
|
172
257
|
--sidebar-section-label-size: 0.8125rem; /* 13px — section and history labels */
|
|
173
258
|
--panel-header-height: 2.75rem; /* 44px — Panel / toolbar header */
|
|
174
259
|
--aside-width: 20rem; /* 320px — right-hand panel column */
|
|
@@ -182,10 +267,11 @@
|
|
|
182
267
|
--thread-max-width: 44rem; /* chat column cap — readable prose measure, all panes */
|
|
183
268
|
--thread-max-width-wide: 64rem; /* rich-content breakout cap (tables/charts/tool cards) on wide panes; prose keeps --thread-max-width */
|
|
184
269
|
--composer-bg: var(--elevated); /* pure white composer surface */
|
|
185
|
-
--composer-radius: var(--radius-
|
|
270
|
+
--composer-radius: var(--radius-xl);
|
|
186
271
|
--composer-padding: 0.5rem;
|
|
187
|
-
--composer-placeholder-max-h: calc(var(--text-
|
|
272
|
+
--composer-placeholder-max-h: calc(var(--text-m--line-height) * 2); /* rotating placeholder clamp — two lines of the input's own rhythm, so it can never overlap the accessory row */
|
|
188
273
|
--chat-texture-opacity: 0.06; /* welcome-state halftone wash */
|
|
274
|
+
--ask-hero-min-height: 30rem; /* keeps the empty-state prompt visually primary before recent work */
|
|
189
275
|
}
|
|
190
276
|
|
|
191
277
|
/*
|
|
@@ -224,7 +310,15 @@
|
|
|
224
310
|
--color-background: var(--background);
|
|
225
311
|
--color-foreground: var(--foreground);
|
|
226
312
|
|
|
227
|
-
/*
|
|
313
|
+
/* Contextual text hierarchies — three accessible levels per surface. */
|
|
314
|
+
--color-on-white-primary: var(--text-on-white-primary);
|
|
315
|
+
--color-on-white-secondary: var(--text-on-white-secondary);
|
|
316
|
+
--color-on-white-tertiary: var(--text-on-white-tertiary);
|
|
317
|
+
--color-on-warm-grey-primary: var(--text-on-warm-grey-primary);
|
|
318
|
+
--color-on-warm-grey-secondary: var(--text-on-warm-grey-secondary);
|
|
319
|
+
--color-on-warm-grey-tertiary: var(--text-on-warm-grey-tertiary);
|
|
320
|
+
|
|
321
|
+
/* Context-free compatibility aliases remain conservative. */
|
|
228
322
|
--color-primary: var(--text-primary);
|
|
229
323
|
--color-secondary: var(--text-secondary);
|
|
230
324
|
--color-tertiary: var(--text-tertiary);
|
|
@@ -238,11 +332,15 @@
|
|
|
238
332
|
|
|
239
333
|
--color-card: var(--card);
|
|
240
334
|
--color-card-foreground: var(--card-foreground);
|
|
335
|
+
--color-specimen-stroke: var(--specimen-stroke);
|
|
241
336
|
|
|
242
337
|
/* Primary CTA role — restrained Studio green, used sparingly. */
|
|
243
338
|
--color-action-primary: var(--action-primary);
|
|
244
339
|
--color-action-primary-foreground: var(--action-primary-foreground);
|
|
245
340
|
--color-action-primary-hover: var(--action-primary-hover);
|
|
341
|
+
--color-action-primary-text: var(--action-primary-text);
|
|
342
|
+
--color-action-primary-soft: var(--action-primary-soft);
|
|
343
|
+
--color-field-focus: var(--field-focus);
|
|
246
344
|
|
|
247
345
|
/* Compatibility action role — neutral ink, never a colored primary hue. */
|
|
248
346
|
--color-brand: var(--brand);
|
|
@@ -250,27 +348,31 @@
|
|
|
250
348
|
--color-brand-hover: var(--brand-hover);
|
|
251
349
|
--color-brand-text: var(--brand-text);
|
|
252
350
|
|
|
253
|
-
/* Quiet fill —
|
|
351
|
+
/* Quiet fill — avatars, chips, and disabled controls */
|
|
254
352
|
--color-fill: var(--fill);
|
|
255
353
|
--color-fill-foreground: var(--fill-foreground);
|
|
256
354
|
--color-table-shell: var(--table-shell);
|
|
355
|
+
--color-table-stroke: var(--table-stroke);
|
|
356
|
+
--color-table-header-foreground: var(--table-header-foreground);
|
|
257
357
|
|
|
258
358
|
--color-artifact-canvas: var(--artifact-canvas);
|
|
259
359
|
|
|
260
360
|
--color-accent: var(--accent);
|
|
261
361
|
--color-accent-foreground: var(--accent-foreground);
|
|
262
362
|
|
|
263
|
-
/* success-700
|
|
363
|
+
/* Lichen success-700 clears AA on White and both success soft fills;
|
|
364
|
+
success-600 is reserved for non-text marks because its 3.73:1 contrast
|
|
365
|
+
on White does not clear body-text AA. */
|
|
264
366
|
--color-success: var(--color-success-700);
|
|
265
|
-
--color-success-foreground:
|
|
367
|
+
--color-success-foreground: var(--color-white);
|
|
266
368
|
/* Amber-500 fill kept (it IS the caution signal); dark ink foreground
|
|
267
369
|
instead of white = 6.94:1 (white on amber was 2.35:1, failed even 3:1). */
|
|
268
370
|
--color-warning: var(--color-warning-500);
|
|
269
|
-
--color-warning-foreground: var(--color-
|
|
371
|
+
--color-warning-foreground: var(--color-ng12);
|
|
270
372
|
--color-danger: var(--color-danger-600);
|
|
271
|
-
--color-danger-foreground:
|
|
373
|
+
--color-danger-foreground: var(--color-white);
|
|
272
374
|
--color-info: var(--color-info-600);
|
|
273
|
-
--color-info-foreground:
|
|
375
|
+
--color-info-foreground: var(--color-white);
|
|
274
376
|
|
|
275
377
|
--color-border-primary: var(--border-primary);
|
|
276
378
|
--color-border-secondary: var(--border-secondary);
|
|
@@ -278,6 +380,9 @@
|
|
|
278
380
|
--color-border: var(--border);
|
|
279
381
|
--color-border-strong: var(--border-strong);
|
|
280
382
|
--color-input: var(--input);
|
|
383
|
+
--color-menu-stroke: var(--menu-stroke);
|
|
384
|
+
--color-toast-stroke: var(--toast-stroke);
|
|
385
|
+
--color-tree-stroke: var(--tree-stroke);
|
|
281
386
|
--color-ring: var(--ring);
|
|
282
387
|
--color-overlay: var(--overlay);
|
|
283
388
|
|
|
@@ -289,10 +394,10 @@
|
|
|
289
394
|
* shadcn's grey/black defaults. The raw --sidebar-*/--popover values live in
|
|
290
395
|
* :root below.
|
|
291
396
|
*/
|
|
292
|
-
--color-primary-foreground:
|
|
293
|
-
--color-secondary-foreground:
|
|
397
|
+
--color-primary-foreground: var(--color-white);
|
|
398
|
+
--color-secondary-foreground: var(--color-white);
|
|
294
399
|
--color-destructive: var(--color-danger-600);
|
|
295
|
-
--color-destructive-foreground:
|
|
400
|
+
--color-destructive-foreground: var(--color-white);
|
|
296
401
|
--color-popover: var(--popover);
|
|
297
402
|
--color-popover-foreground: var(--popover-foreground);
|
|
298
403
|
|
|
@@ -308,69 +413,79 @@
|
|
|
308
413
|
|
|
309
414
|
/* ---- Theme (light only) ---- */
|
|
310
415
|
:root {
|
|
311
|
-
/*
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
--
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
--text-primary: var(--color-
|
|
323
|
-
--text-secondary: var(--color-
|
|
324
|
-
--text-tertiary:
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
--
|
|
329
|
-
|
|
330
|
-
--
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
--
|
|
334
|
-
--
|
|
416
|
+
/* Surfaces and achromatic text/actions point into NG; the primary CTA
|
|
417
|
+
points into G. */
|
|
418
|
+
--background: var(--color-ng2); /* step 2 · canvas */
|
|
419
|
+
--foreground: var(--color-ng12); /* step 12 */
|
|
420
|
+
|
|
421
|
+
/* Both surface contexts point directly into the approved NG text steps.
|
|
422
|
+
NG10 is the tertiary/de-emphasis step; it does not clear 4.5:1 for normal
|
|
423
|
+
body text on these surfaces, so reserve it for nonessential content. */
|
|
424
|
+
--text-on-white-primary: var(--color-ng12); /* 16.29:1 · AAA */
|
|
425
|
+
--text-on-white-secondary: var(--color-ng11); /* 6.56:1 · AA */
|
|
426
|
+
--text-on-white-tertiary: var(--color-ng10); /* 4.22:1 */
|
|
427
|
+
--text-on-warm-grey-primary: var(--color-ng12); /* legacy name · neutral canvas */
|
|
428
|
+
--text-on-warm-grey-secondary: var(--color-ng11); /* legacy name · neutral canvas */
|
|
429
|
+
--text-on-warm-grey-tertiary: var(--color-ng10); /* legacy name · neutral canvas */
|
|
430
|
+
|
|
431
|
+
/* Existing context-free utilities remain compatibility aliases. Their
|
|
432
|
+
tertiary value stays conservative across NG2–NG4 and White. */
|
|
433
|
+
--text-primary: var(--color-ng12); /* ~12.5:1 AAA (min surf) */
|
|
434
|
+
--text-secondary: var(--color-ng11); /* ~5.0:1 AA (min surf) */
|
|
435
|
+
--text-tertiary: #625f5c; /* ~4.53:1 AA (min surf) */
|
|
436
|
+
|
|
437
|
+
--surface: var(--color-ng3); /* step 3 · tinted canvas */
|
|
438
|
+
--surface-foreground: var(--color-ng12);
|
|
439
|
+
--elevated: var(--color-white); /* pure white base */
|
|
440
|
+
|
|
441
|
+
--muted: var(--color-ng4); /* step 4 */
|
|
442
|
+
--muted-foreground: var(--color-ng11); /* step 11 · readable UI text */
|
|
443
|
+
|
|
444
|
+
--card: var(--color-white); /* pure white base */
|
|
445
|
+
--card-foreground: var(--color-ng12);
|
|
335
446
|
|
|
336
447
|
/* Studio green is deliberately isolated to the primary CTA role (roughly
|
|
337
448
|
5–10% of a screen). Selection controls keep using neutral `brand` below,
|
|
338
449
|
so tabs, switches, radios, and progress never inherit CTA color. */
|
|
339
|
-
--action-primary:
|
|
340
|
-
--action-primary-foreground:
|
|
341
|
-
--action-primary-hover:
|
|
450
|
+
--action-primary: var(--color-g9);
|
|
451
|
+
--action-primary-foreground: var(--color-white);
|
|
452
|
+
--action-primary-hover: var(--color-g10);
|
|
453
|
+
--action-primary-text: var(--color-g11);
|
|
454
|
+
--action-primary-soft: var(--color-g3);
|
|
342
455
|
|
|
343
456
|
/* Neutral action role. The `brand` name remains as a compatibility API,
|
|
344
457
|
and shared selection/control states intentionally remain achromatic. */
|
|
345
|
-
--brand: var(--color-
|
|
346
|
-
--brand-foreground:
|
|
347
|
-
--brand-hover: var(--color-
|
|
348
|
-
--brand-text: var(--color-
|
|
349
|
-
|
|
350
|
-
/*
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
/* Quiet component fill. Ink step 3 is the first interactive-background
|
|
458
|
+
--brand: var(--color-ng12); /* darkest neutral action */
|
|
459
|
+
--brand-foreground: var(--color-white);
|
|
460
|
+
--brand-hover: var(--color-ng11); /* lighter hover lift */
|
|
461
|
+
--brand-text: var(--color-ng12); /* action text / links */
|
|
462
|
+
|
|
463
|
+
/* Interactive rows lift one step above the NG1 zebra band. */
|
|
464
|
+
--table-row-hover: var(--color-ng2);
|
|
465
|
+
--table-row-selected: var(--color-ng1);
|
|
466
|
+
|
|
467
|
+
/* Quiet component fill. NG3 is the first interactive-background
|
|
357
468
|
step, so this remains visible on both white cards and the step-2 canvas. */
|
|
358
|
-
--fill: var(--color-
|
|
359
|
-
--fill-foreground: var(--color-
|
|
360
|
-
|
|
361
|
-
--accent: var(--color-
|
|
362
|
-
--accent-foreground: var(--color-
|
|
363
|
-
|
|
364
|
-
/*
|
|
365
|
-
tertiary
|
|
366
|
-
|
|
367
|
-
--border-primary: var(--color-
|
|
368
|
-
--border-secondary: var(--color-
|
|
369
|
-
--border-tertiary: var(--color-
|
|
469
|
+
--fill: var(--color-ng3); /* step 3 · default component fill */
|
|
470
|
+
--fill-foreground: var(--color-ng12);
|
|
471
|
+
|
|
472
|
+
--accent: var(--color-ng5); /* step 5 · active / selected wash */
|
|
473
|
+
--accent-foreground: var(--color-ng12);
|
|
474
|
+
|
|
475
|
+
/* Every neutral border stays within the consecutive NG3–NG5 range:
|
|
476
|
+
tertiary is the quietest 1px divider, secondary is the default hairline,
|
|
477
|
+
and primary is the strongest neutral edge. */
|
|
478
|
+
--border-primary: var(--color-ng5); /* step 5 · strongest */
|
|
479
|
+
--border-secondary: var(--color-ng4); /* step 4 · default */
|
|
480
|
+
--border-tertiary: var(--color-ng3); /* step 3 · faintest */
|
|
370
481
|
/* Legacy aliases point into the scale so existing utilities keep resolving. */
|
|
371
482
|
--border: var(--border-secondary); /* default hairline / separator */
|
|
372
483
|
--border-strong: var(--border-primary); /* emphasized / hover / selected */
|
|
373
|
-
--input: var(--
|
|
484
|
+
--input: var(--color-ng4); /* form-control edge */
|
|
485
|
+
--menu-stroke: var(--color-ng4); /* dropdown edge + separator */
|
|
486
|
+
--toast-stroke: var(--color-ng4); /* toast card edge */
|
|
487
|
+
--tree-stroke: var(--color-ng4); /* tree connector rail + elbows */
|
|
488
|
+
--field-focus: var(--color-g8); /* subtle green focused-control edge */
|
|
374
489
|
|
|
375
490
|
/* Ripple — the appearance wash that radiates from a floating surface's
|
|
376
491
|
origin corner as it opens (Dropdown/Popover/Select/Modal…). A soft ink
|
|
@@ -378,29 +493,30 @@
|
|
|
378
493
|
the `Ripple` component. */
|
|
379
494
|
--ripple-tint: color-mix(in srgb, var(--brand) 20%, transparent);
|
|
380
495
|
|
|
381
|
-
/* Stroke width —
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
the ink scale. Components pass these into non-CSS renderers (Recharts,
|
|
391
|
-
React Flow, the Paper/WebGL texture) so no component carries a raw ink-*
|
|
392
|
-
value. Same DS pattern as the data-viz --color-chart-* palette. */
|
|
496
|
+
/* Stroke width — every standard UI border is exactly 1px. */
|
|
497
|
+
--stroke-width: 1px;
|
|
498
|
+
--ring: color-mix(in srgb, var(--color-ng12) 50%, transparent); /* NG12 @ 50% */
|
|
499
|
+
--overlay: color-mix(in srgb, var(--color-ng12) 50%, transparent); /* NG12 @ 50% */
|
|
500
|
+
|
|
501
|
+
/* Functional / domain tokens — named for their render role, pointing into
|
|
502
|
+
the canonical NG palette. Components pass these into non-CSS renderers
|
|
503
|
+
(Recharts, React Flow, the Paper/WebGL texture) so no component carries a
|
|
504
|
+
raw primitive value. Same DS pattern as the data-viz palette. */
|
|
393
505
|
--chart-axis: var(--border-tertiary); /* axis lines + de-emphasised marks */
|
|
394
|
-
--chart-grid: var(--color-
|
|
395
|
-
--chart-track: var(--color-
|
|
396
|
-
--chart-context: var(--color-
|
|
506
|
+
--chart-grid: var(--color-ng3); /* quieter than axes, visible on white */
|
|
507
|
+
--chart-track: var(--color-ng3); /* funnel / progress track */
|
|
508
|
+
--chart-context: var(--color-ng6); /* de-emphasised context series */
|
|
509
|
+
--chart-active-bar-opacity: 0.68; /* hover lightens a bar while preserving its series hue */
|
|
397
510
|
--canvas-edge: var(--border-secondary);/* infinite-canvas edges / connectors */
|
|
398
|
-
--texture-ink: var(--color-
|
|
399
|
-
--table-shell: var(--color-
|
|
400
|
-
--table-
|
|
401
|
-
--
|
|
402
|
-
--
|
|
403
|
-
--
|
|
511
|
+
--texture-ink: var(--color-ng12); /* brand-texture / pixel-blast marks */
|
|
512
|
+
--table-shell: var(--color-white); /* simplified single-surface table */
|
|
513
|
+
--table-stroke: var(--color-ng3); /* table outline + row separators */
|
|
514
|
+
--table-header-foreground: var(--color-ng10); /* secondary table heading text */
|
|
515
|
+
--specimen-stroke: var(--color-ng3); /* showcase preview + variant-group frames */
|
|
516
|
+
--table-scroll-hint: rgb(32 32 32 / 0.04); /* right-edge "more columns" wash */
|
|
517
|
+
--surface-inverse: var(--color-ng12); /* dark hero / inverse surface base */
|
|
518
|
+
--surface-inverse-soft: var(--color-ng11);/* dark hero gradient falloff */
|
|
519
|
+
--artifact-canvas: color-mix(in srgb, var(--color-brand-mark) 7%, var(--color-white));
|
|
404
520
|
|
|
405
521
|
/* shadcn-compat raw surfaces — so a downstream shadcn Sidebar / Popover
|
|
406
522
|
(or an inline `var(--sidebar)` / `var(--popover)`) resolves to the ADS
|
|
@@ -421,9 +537,10 @@
|
|
|
421
537
|
|
|
422
538
|
/*
|
|
423
539
|
* ============================================================
|
|
424
|
-
*
|
|
540
|
+
* Standard strokes — ADS UI borders are 1px (principle 1).
|
|
425
541
|
* Override Tailwind's single-width border utilities to the
|
|
426
542
|
* --stroke-width token. Authored after `}
|
|
543
|
+
.border { border-width: var(--stroke-width); }
|
|
427
544
|
.border-t { border-top-width: var(--stroke-width); }
|
|
428
545
|
.border-r { border-right-width: var(--stroke-width); }
|
|
429
546
|
.border-b { border-bottom-width: var(--stroke-width); }
|
|
@@ -445,6 +562,15 @@
|
|
|
445
562
|
0% { opacity: 0.6; transform: scale(0.15); }
|
|
446
563
|
100% { opacity: 0; transform: scale(1.08); }
|
|
447
564
|
}
|
|
565
|
+
|
|
566
|
+
@keyframes ads-toast-progress {
|
|
567
|
+
from {
|
|
568
|
+
transform: scaleX(1);
|
|
569
|
+
}
|
|
570
|
+
to {
|
|
571
|
+
transform: scaleX(0);
|
|
572
|
+
}
|
|
573
|
+
}
|
|
448
574
|
.ads-ripple {
|
|
449
575
|
position: absolute;
|
|
450
576
|
inset: 0;
|
|
@@ -468,10 +594,10 @@
|
|
|
468
594
|
* `primary-foreground` companion (its base `--color-primary` is the ADS
|
|
469
595
|
* text-hierarchy token, which collides with the generated `primary` color),
|
|
470
596
|
* so the vendored shadcn button's icon rendered invisible (dark-on-dark) on
|
|
471
|
-
* `bg-primary`. Define the two utilities explicitly against
|
|
597
|
+
* `bg-primary`. Define the two utilities explicitly against White.
|
|
472
598
|
* ============================================================
|
|
473
599
|
*/
|
|
474
600
|
@layer utilities {
|
|
475
|
-
.text-primary-foreground { color:
|
|
476
|
-
.bg-primary-foreground { background-color:
|
|
601
|
+
.text-primary-foreground { color: var(--color-white); }
|
|
602
|
+
.bg-primary-foreground { background-color: var(--color-white); }
|
|
477
603
|
}
|