@actioneer/ads 1.0.7 → 1.0.8
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 +80 -86
- package/README.md +6 -0
- package/components/ai-elements/chart.js +20 -20
- package/components/ai-elements/inline-citation.js +50 -50
- package/components/ai-elements/message.js +1 -1
- package/components/ai-elements/tool.js +5 -5
- package/components/alert.d.ts +3 -2
- package/components/alert.js +25 -25
- package/components/answer.js +1 -1
- package/components/assistant-ui/action-bar.js +1 -1
- package/components/assistant-ui/attachment.js +68 -49
- package/components/assistant-ui/composer-add-context.js +1 -1
- package/components/assistant-ui/composer-trigger-popover.js +1 -1
- package/components/assistant-ui/composer.js +13 -13
- package/components/assistant-ui/message-timing.js +6 -6
- package/components/assistant-ui/selection-toolbar.js +5 -5
- package/components/assistant-ui/sources.js +15 -15
- package/components/assistant-ui/tooltip-icon-button.js +18 -14
- package/components/audio-waveform.d.ts +21 -8
- package/components/audio-waveform.js +371 -94
- package/components/autocomplete.js +9 -9
- package/components/breadcrumbs.js +32 -38
- package/components/button.js +83 -73
- package/components/card.js +1 -1
- package/components/chart.js +732 -673
- package/components/chip.js +37 -35
- package/components/command-palette.js +12 -12
- package/components/connector-card.d.ts +1 -2
- package/components/connector-card.js +17 -17
- package/components/date-range-picker.js +1 -2
- package/components/drawer.js +9 -10
- package/components/dropdown.js +1 -1
- package/components/empty-state.d.ts +2 -0
- package/components/empty-state.js +17 -15
- package/components/field.js +9 -10
- package/components/file-dropzone.d.ts +6 -3
- package/components/file-dropzone.js +72 -60
- package/components/infinite-canvas.js +9 -9
- package/components/modal.js +1 -1
- package/components/page-body.js +8 -8
- package/components/popover.js +11 -11
- package/components/progress-circle.d.ts +1 -1
- package/components/progress-circle.js +57 -48
- package/components/segmented.d.ts +1 -0
- package/components/segmented.js +34 -36
- package/components/select.js +2 -2
- package/components/selection-action-bar.js +32 -31
- package/components/setting-row.js +10 -10
- package/components/slider.js +5 -5
- package/components/stepper.d.ts +1 -1
- package/components/stepper.js +1 -1
- package/components/switch.js +10 -10
- package/components/table.d.ts +2 -2
- package/components/table.js +177 -170
- package/components/tabs.js +41 -35
- package/components/timeline.js +3 -3
- package/components/toast.js +53 -56
- package/components/ui/button.js +4 -4
- package/components/ui/dialog.js +1 -1
- package/components/viz-charts.js +263 -221
- package/examples/README.md +30 -0
- package/examples/agents-screen.tsx +477 -0
- package/examples/settings-screen.tsx +90 -0
- package/examples/workspace-header.tsx +71 -0
- package/lib/icons.d.ts +8 -0
- package/lib/icons.js +171 -118
- package/llms.txt +14 -14
- package/manifest.json +77 -48
- package/package.json +1 -1
- package/styles.css +55 -68
- package/theme.css +50 -59
package/lib/icons.js
CHANGED
|
@@ -1,123 +1,176 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as
|
|
3
|
-
import * as
|
|
4
|
-
import { Code as
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
import { jsxs as p, Fragment as d, jsx as a } from "react/jsx-runtime";
|
|
3
|
+
import * as r from "react";
|
|
4
|
+
import { Code as $, Check as k, Copy as S, FileText as f, UploadSimple as P, X as T, EyeSlash as w, Eye as L, MagnifyingGlass as A, Minus as m, Plus as x, CaretDown as B, Info as I, WarningCircle as y, Warning as U, CheckCircle as F, CaretRight as M, CaretUp as D, ArrowsDownUp as O, ChatCircle as b, ArrowUpRight as R, Clock as v, Database as H, ArrowSquareOut as E, Table as G, CaretLeft as W, CornersOut as z, Magnet as V, Tray as N, ArrowLeft as j, DotsThree as X, User as Q, XCircle as q, CircleDashed as _, ArrowsClockwise as J, Paperclip as K, Quotes as Y, At as Z, Lightning as ee, Sparkle as oe, File as te, DownloadSimple as ne, Image as C, BracketsCurly as se, MusicNotes as ae, VideoCamera as re, ImageBroken as ce, Pulse as ie, Archive as le, ArrowDown as he, ArrowRight as Ce, ArrowUp as ge, Scroll as ue, Bell as pe, Stack as de, BookOpen as $e, Brain as ke, CalendarBlank as Se, Phone as fe, ListChecks as Pe, Cube as Te, DotsNine as we, FunnelSimple as Le, Folder as Ae, FolderOpen as me, Gauge as xe, GitBranch as Be, Hash as Ie, ClockCounterClockwise as ye, House as Ue, SquaresFour as Fe, Leaf as Me, Lightbulb as De, Link as Oe, CircleNotch as be, SignOut as Re, Envelope as ve, Microphone as He, MicrophoneSlash as Ee, DotsThreeVertical as Ge, Palette as We, SidebarSimple as ze, Pause as Ve, PencilSimple as Ne, PhoneIncoming as je, PhoneSlash as Xe, ChartPie as Qe, Play as qe, Plug as _e, Presentation as Je, Rocket as Ke, Gear as Ye, Shapes as Ze, ShareNetwork as eo, Star as oo, Stop as to, ArrowsLeftRight as no, Target as so, Binoculars as ao, TextB as ro, TextT as co, TextItalic as io, TextStrikethrough as lo, TextUnderline as ho, ToggleRight as Co, Trash as go, Users as uo, Wrench as po } from "@phosphor-icons/react";
|
|
5
|
+
const $o = r.createContext(!1), ko = /* @__PURE__ */ new Set(["Info"]), So = new Set(
|
|
6
|
+
[
|
|
7
|
+
"FunnelSimple",
|
|
8
|
+
"X",
|
|
9
|
+
"TextT",
|
|
10
|
+
"TextItalic",
|
|
11
|
+
"TextStrikethrough",
|
|
12
|
+
"TextUnderline",
|
|
13
|
+
"Code",
|
|
14
|
+
"Minus",
|
|
15
|
+
"DotsNine",
|
|
16
|
+
"Link",
|
|
17
|
+
"Plus",
|
|
18
|
+
"Check",
|
|
19
|
+
"Pulse",
|
|
20
|
+
"ListChecks",
|
|
21
|
+
"BracketsCurly"
|
|
22
|
+
].map((o) => `${o}Icon`)
|
|
23
|
+
);
|
|
24
|
+
function e(o, c) {
|
|
25
|
+
const i = r.forwardRef(function({ strokeWidth: l, weight: g, className: t, ...n }, h) {
|
|
26
|
+
const u = r.useContext($o), s = g ?? (l != null && l >= 2 ? "bold" : "regular");
|
|
27
|
+
return u && ko.has(c) && s !== "fill" ? /* @__PURE__ */ p(d, { children: [
|
|
28
|
+
/* @__PURE__ */ a(
|
|
29
|
+
o,
|
|
30
|
+
{
|
|
31
|
+
ref: h,
|
|
32
|
+
size: "1em",
|
|
33
|
+
weight: s,
|
|
34
|
+
className: [t, "ads-icon-rest"].filter(Boolean).join(" "),
|
|
35
|
+
...n
|
|
36
|
+
}
|
|
37
|
+
),
|
|
38
|
+
/* @__PURE__ */ a(
|
|
39
|
+
o,
|
|
40
|
+
{
|
|
41
|
+
size: "1em",
|
|
42
|
+
weight: So.has(o.displayName ?? "") ? "bold" : "fill",
|
|
43
|
+
"aria-hidden": !0,
|
|
44
|
+
className: [t, "ads-icon-hover"].filter(Boolean).join(" "),
|
|
45
|
+
...n
|
|
46
|
+
}
|
|
47
|
+
)
|
|
48
|
+
] }) : /* @__PURE__ */ a(
|
|
49
|
+
o,
|
|
50
|
+
{
|
|
51
|
+
ref: h,
|
|
52
|
+
size: "1em",
|
|
53
|
+
weight: s,
|
|
54
|
+
className: t,
|
|
55
|
+
...n
|
|
56
|
+
}
|
|
57
|
+
);
|
|
9
58
|
});
|
|
10
|
-
return
|
|
59
|
+
return i.displayName = c, i;
|
|
11
60
|
}
|
|
12
|
-
const
|
|
61
|
+
const wo = e(he, "ArrowDown"), Lo = e(j, "ArrowLeft"), Ao = e(Ce, "ArrowRight"), mo = e(ge, "ArrowUp"), xo = e(R, "ArrowUpRight"), Bo = e(B, "ChevronDown"), Io = e(W, "ChevronLeft"), yo = e(M, "ChevronRight"), Uo = e(D, "ChevronUp"), Fo = e(O, "SortIcon"), Mo = e(no, "SwapHorizontal"), Do = e(E, "ExternalLink"), Oo = e(ze, "PanelLeft"), bo = e(Z, "At"), Ro = e(fe, "Call"), vo = e(je, "PhoneIncoming"), Ho = e(T, "Close"), Eo = e(q, "CloseCircle"), Go = e(S, "Copy"), Wo = e(ne, "Download"), zo = e(Re, "LogOut"), Vo = e(He, "Mic"), No = e(Ee, "MicOff"), jo = e(Xe, "PhoneOff"), Xo = e(Ne, "Pencil"), Qo = e(Y, "Quote"), qo = e(L, "Eye"), _o = e(w, "EyeOff"), Jo = e(Ie, "Hash"), Ko = e(C, "ImageUpload"), Yo = e(P, "Upload"), Zo = e(co, "TextFont"), et = e(ro, "TextBold"), ot = e(io, "TextItalicStyle"), tt = e(lo, "TextStrike"), nt = e(
|
|
62
|
+
ho,
|
|
63
|
+
"TextUnderlineStyle"
|
|
64
|
+
), st = e(Co, "ToggleOn"), at = e(Se, "Calendar"), rt = e(v, "Clock"), ct = e($, "Code"), it = e(to, "Stop"), lt = e(V, "Magnet"), ht = e(z, "Maximize"), Ct = e(m, "Minus"), gt = e(X, "MoreHorizontal"), ut = e(Ge, "MoreVertical"), pt = e(we, "DragHandle"), dt = e(Oe, "Link"), $t = e(x, "Plus"), kt = e(J, "Refresh"), St = e(ue, "AuditTrail"), ft = e(A, "Search"), Pt = e(eo, "Share"), Tt = e(go, "Trash"), wt = e(k, "Check"), Lt = e(be, "Loader"), At = e(F, "CheckCircle"), mt = e(I, "Info"), xt = e(U, "Warning"), Bt = e(pe, "Bell"), It = e(y, "WarningCircle"), yt = e(ie, "Activity"), Ut = e(b, "AgentChat"), Ft = e(ee, "Bolt"), Mt = e($e, "BookOpen"), Dt = e(ke, "Brain"), Ot = e(Pe, "CheckList"), bt = e(Te, "Component"), Rt = e(H, "Database"), vt = e(G, "Table"), Ht = e(Le, "Filter"), Et = e(le, "Archive"), Gt = e(te, "File"), Wt = e(f, "FileText"), zt = e(Ae, "Folder"), Vt = e(C, "Image"), Nt = e(ce, "ImageOff"), jt = e(ae, "Music"), Xt = e(re, "Video"), Qt = e(se, "Braces"), qt = e(me, "FolderOpen"), _t = e(xe, "Gauge"), Jt = e(Be, "GitBranch"), Kt = e(ye, "HistoryClock"), Yt = e(Ue, "Home"), Zt = e(de, "Blocks"), en = e(N, "Inbox"), on = e(De, "Lightbulb"), tn = e(Me, "Leaf"), nn = e(Fe, "LayoutGrid"), sn = e(ve, "Mail"), an = e(We, "Palette"), rn = e(Qe, "PieChart"), cn = e(_e, "Plug"), ln = e(Ke, "Rocket"), hn = e(Ye, "Settings"), Cn = e(Ze, "Shapes"), gn = e(oe, "Sparkles"), un = e(oo, "Star"), pn = e(ao, "Telescope"), dn = e(so, "Target"), $n = e(Q, "User"), kn = e(uo, "Users"), Sn = e(qe, "Play"), fn = e(Je, "Presentation"), Pn = e(Ve, "Pause"), Tn = e(K, "Paperclip"), wn = e(_, "CircleDashed"), Ln = e(po, "Wrench");
|
|
13
65
|
export {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
dt as
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
66
|
+
yt as Activity,
|
|
67
|
+
Ut as AgentChat,
|
|
68
|
+
Et as Archive,
|
|
69
|
+
wo as ArrowDown,
|
|
70
|
+
Lo as ArrowLeft,
|
|
71
|
+
Ao as ArrowRight,
|
|
72
|
+
mo as ArrowUp,
|
|
73
|
+
xo as ArrowUpRight,
|
|
74
|
+
bo as At,
|
|
75
|
+
St as AuditTrail,
|
|
76
|
+
Bt as Bell,
|
|
77
|
+
Zt as Blocks,
|
|
78
|
+
Ft as Bolt,
|
|
79
|
+
Mt as BookOpen,
|
|
80
|
+
Qt as Braces,
|
|
81
|
+
Dt as Brain,
|
|
82
|
+
at as Calendar,
|
|
83
|
+
Ro as Call,
|
|
84
|
+
wt as Check,
|
|
85
|
+
At as CheckCircle,
|
|
86
|
+
Ot as CheckList,
|
|
87
|
+
Bo as ChevronDown,
|
|
88
|
+
Io as ChevronLeft,
|
|
89
|
+
yo as ChevronRight,
|
|
90
|
+
Uo as ChevronUp,
|
|
91
|
+
wn as CircleDashed,
|
|
92
|
+
rt as Clock,
|
|
93
|
+
Ho as Close,
|
|
94
|
+
Eo as CloseCircle,
|
|
95
|
+
ct as Code,
|
|
96
|
+
bt as Component,
|
|
97
|
+
Go as Copy,
|
|
98
|
+
Rt as Database,
|
|
99
|
+
Wo as Download,
|
|
100
|
+
pt as DragHandle,
|
|
101
|
+
Do as ExternalLink,
|
|
102
|
+
qo as Eye,
|
|
103
|
+
_o as EyeOff,
|
|
104
|
+
Gt as File,
|
|
105
|
+
Wt as FileText,
|
|
106
|
+
Ht as Filter,
|
|
107
|
+
zt as Folder,
|
|
108
|
+
qt as FolderOpen,
|
|
109
|
+
_t as Gauge,
|
|
110
|
+
Jt as GitBranch,
|
|
111
|
+
Jo as Hash,
|
|
112
|
+
Kt as HistoryClock,
|
|
113
|
+
Yt as Home,
|
|
114
|
+
$o as IconHoverFillContext,
|
|
115
|
+
Vt as Image,
|
|
116
|
+
Nt as ImageOff,
|
|
117
|
+
Ko as ImageUpload,
|
|
118
|
+
en as Inbox,
|
|
119
|
+
mt as Info,
|
|
120
|
+
nn as LayoutGrid,
|
|
121
|
+
tn as Leaf,
|
|
122
|
+
on as Lightbulb,
|
|
123
|
+
dt as Link,
|
|
124
|
+
Lt as Loader,
|
|
125
|
+
zo as LogOut,
|
|
126
|
+
lt as Magnet,
|
|
127
|
+
sn as Mail,
|
|
128
|
+
ht as Maximize,
|
|
129
|
+
Vo as Mic,
|
|
130
|
+
No as MicOff,
|
|
131
|
+
Ct as Minus,
|
|
132
|
+
gt as MoreHorizontal,
|
|
133
|
+
ut as MoreVertical,
|
|
134
|
+
jt as Music,
|
|
135
|
+
an as Palette,
|
|
136
|
+
Oo as PanelLeft,
|
|
137
|
+
Tn as Paperclip,
|
|
138
|
+
Pn as Pause,
|
|
139
|
+
Xo as Pencil,
|
|
140
|
+
vo as PhoneIncoming,
|
|
141
|
+
jo as PhoneOff,
|
|
142
|
+
rn as PieChart,
|
|
143
|
+
Sn as Play,
|
|
144
|
+
cn as Plug,
|
|
145
|
+
$t as Plus,
|
|
146
|
+
fn as Presentation,
|
|
147
|
+
Qo as Quote,
|
|
148
|
+
kt as Refresh,
|
|
149
|
+
ln as Rocket,
|
|
150
|
+
ft as Search,
|
|
151
|
+
hn as Settings,
|
|
152
|
+
Cn as Shapes,
|
|
153
|
+
Pt as Share,
|
|
154
|
+
Fo as SortIcon,
|
|
155
|
+
gn as Sparkles,
|
|
156
|
+
un as Star,
|
|
157
|
+
it as Stop,
|
|
158
|
+
Mo as SwapHorizontal,
|
|
159
|
+
vt as Table,
|
|
160
|
+
dn as Target,
|
|
161
|
+
pn as Telescope,
|
|
162
|
+
et as TextBold,
|
|
163
|
+
Zo as TextFont,
|
|
164
|
+
ot as TextItalicStyle,
|
|
165
|
+
tt as TextStrike,
|
|
166
|
+
nt as TextUnderlineStyle,
|
|
167
|
+
st as ToggleOn,
|
|
168
|
+
Tt as Trash,
|
|
169
|
+
Yo as Upload,
|
|
170
|
+
$n as User,
|
|
171
|
+
kn as Users,
|
|
172
|
+
Xt as Video,
|
|
173
|
+
xt as Warning,
|
|
174
|
+
It as WarningCircle,
|
|
175
|
+
Ln as Wrench
|
|
123
176
|
};
|
package/llms.txt
CHANGED
|
@@ -70,8 +70,8 @@ Reference semantic roles, never raw color/dimension literals (ads-lint rejects l
|
|
|
70
70
|
- `menu-stroke` — The neutral stroke ladder: every 1px UI border stays within WG3 to WG5.
|
|
71
71
|
- `toast-stroke` — The neutral stroke ladder: every 1px UI border stays within WG3 to WG5.
|
|
72
72
|
- `tree-stroke` — The neutral stroke ladder: every 1px UI border stays within WG3 to WG5.
|
|
73
|
-
- `ring` — Focus ring and scrim, both translucent
|
|
74
|
-
- `overlay` — Focus ring and scrim, both translucent
|
|
73
|
+
- `ring` — Focus ring and scrim, both translucent neutral ink.
|
|
74
|
+
- `overlay` — Focus ring and scrim, both translucent neutral ink.
|
|
75
75
|
|
|
76
76
|
## Design principles
|
|
77
77
|
|
|
@@ -89,17 +89,16 @@ Delineate SURFACES (cards, panels, sidebars, page regions) with color contrast,
|
|
|
89
89
|
- Don't: Alternate persistent neutral fills inside one panel (for example white Panel → grey item → white child); flatten the item or promote the recess to the container.
|
|
90
90
|
- Don't: Give a filled control no stroke on the tinted canvas — it disappears; it needs a crisp edge.
|
|
91
91
|
|
|
92
|
-
### 2.
|
|
92
|
+
### 2. Five shadows, floating layers only [judgment]
|
|
93
93
|
|
|
94
|
-
|
|
94
|
+
ADS has five shadow tokens: shadow-0 (flat, the default), shadow-float, shadow-overlay, and the two table scroll-hint smudges. Only a layer that floats above the page may carry float or overlay; everything in the page is flat.
|
|
95
95
|
|
|
96
|
-
- Do: Keep
|
|
97
|
-
- Do:
|
|
98
|
-
- Do:
|
|
99
|
-
- Don't:
|
|
100
|
-
- Don't: Use raw shadow values or
|
|
101
|
-
- Don't:
|
|
102
|
-
- Don't: Use shadow-500 or shadow-600 as a routine default.
|
|
96
|
+
- Do: Keep cards, panels, chips, buttons, tabs, fields, thumbs, and other in-page surfaces at shadow-0; separate them with fill, border, or spacing.
|
|
97
|
+
- Do: Use shadow-float for floating layers that sit over content: toasts, toolbars, the chat composer dock, and any menu or popover that needs lift beyond its border.
|
|
98
|
+
- Do: Use shadow-overlay for modals, dialogs, and overlay drawers, so a dialog always reads above a menu.
|
|
99
|
+
- Don't: Put a shadow on an in-page surface for decoration or to signal that it is clickable.
|
|
100
|
+
- Don't: Use raw shadow values, inset glows, or the removed numbered levels and elevation hook.
|
|
101
|
+
- Don't: Invent a third floating level; stack order comes from float vs overlay.
|
|
103
102
|
|
|
104
103
|
### 3. Motion follows the interaction [lint: unbounded-transition, sluggish-easing, zero-scale-entrance, undersized-zoom-entrance, raw-spring-config]
|
|
105
104
|
|
|
@@ -188,9 +187,9 @@ A page-level Back control sits immediately before the page title in the leading
|
|
|
188
187
|
|
|
189
188
|
### 11. Tabs lead; scoped search trails [judgment]
|
|
190
189
|
|
|
191
|
-
When tabs and a search field control the same content, they share one responsive control row: the tab
|
|
190
|
+
When tabs and a search field control the same content, they share one responsive control row: the tab list leads with its triggers left-aligned at their natural width over a baseline that fades from WG3 to transparent, and search sits at the trailing edge. Stack only when the container cannot fit both.
|
|
192
191
|
|
|
193
|
-
- Do: Keep
|
|
192
|
+
- Do: Keep tab triggers left-aligned at their natural width, then place the scoped search field opposite them in the same toolbar.
|
|
194
193
|
- Do: On constrained containers, stack tabs first and search second while preserving their relationship.
|
|
195
194
|
- Don't: Stretch the tab track to fill the space between its labels and the search field.
|
|
196
195
|
- Don't: Put a scoped search field on a separate row above its tabs when both controls fit side by side.
|
|
@@ -254,7 +253,7 @@ Before using any component below, preserve its built-in motion and apply the mot
|
|
|
254
253
|
- [Field] — Wrap any form control (Input, Select, NumberField, Textarea, etc.) with a label plus optional description or error footer. [docs](https://ads.actioneer.dev/#/field)
|
|
255
254
|
- [FieldDescription] — component [docs](https://ads.actioneer.dev/#/field)
|
|
256
255
|
- [FieldError] — component [docs](https://ads.actioneer.dev/#/field)
|
|
257
|
-
- [FileDropzone] — component (variants: isDragging: true|false; isDisabled: true|false) [docs](https://ads.actioneer.dev/#/review/file-dropzone)
|
|
256
|
+
- [FileDropzone] — component (variants: hasFiles: true|false; isDragging: true|false; isDisabled: true|false) [docs](https://ads.actioneer.dev/#/review/file-dropzone)
|
|
258
257
|
- [Heading] — Use Heading for semantic h1–h4 titles above a page, section, or card, sized by document level via `level` (never a `size` prop). [docs](https://ads.actioneer.dev/#/typography)
|
|
259
258
|
- [Kbd] — Use to display a keyboard shortcut or key name, inline in text or trailing a label in a shortcut list. [docs](https://ads.actioneer.dev/#/kbd)
|
|
260
259
|
- [Label] — component [docs](https://ads.actioneer.dev/#/field)
|
|
@@ -269,6 +268,7 @@ Before using any component below, preserve its built-in motion and apply the mot
|
|
|
269
268
|
- [Stepper] — component (variants: status: complete|current|upcoming|error; size: sm|md) [docs](https://ads.actioneer.dev/#/review/stepper)
|
|
270
269
|
- [Text] — Use Text for any body copy, caption, or inline run of prose instead of a raw p/span tag. [docs](https://ads.actioneer.dev/#/typography)
|
|
271
270
|
- [Tooltip] — Use to label a single hover/focus-triggered element (icon-only buttons, avatars, truncated text) with a short informational hint — not for actions or content that needs to stay open. [docs](https://ads.actioneer.dev/#/tooltip)
|
|
271
|
+
- [AudioWaveformLook] — TypeScript type
|
|
272
272
|
- [AudioWaveformProps] — TypeScript type
|
|
273
273
|
- [ButtonProps] — TypeScript type
|
|
274
274
|
- [CodeBlockProps] — TypeScript type
|
package/manifest.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@actioneer/ads",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.8",
|
|
4
4
|
"importPath": "@actioneer/ads",
|
|
5
5
|
"styleImport": "@import \"@actioneer/ads/styles.css\";",
|
|
6
6
|
"families": [
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
"Chat"
|
|
17
17
|
],
|
|
18
18
|
"counts": {
|
|
19
|
-
"total":
|
|
19
|
+
"total": 743,
|
|
20
20
|
"component": 323,
|
|
21
|
-
"type":
|
|
21
|
+
"type": 312,
|
|
22
22
|
"hook": 10,
|
|
23
23
|
"util": 98
|
|
24
24
|
},
|
|
@@ -557,7 +557,7 @@
|
|
|
557
557
|
"utilities": [
|
|
558
558
|
"ring-ring"
|
|
559
559
|
],
|
|
560
|
-
"description": "Focus ring and scrim, both translucent
|
|
560
|
+
"description": "Focus ring and scrim, both translucent neutral ink."
|
|
561
561
|
},
|
|
562
562
|
{
|
|
563
563
|
"name": "--color-overlay",
|
|
@@ -567,7 +567,7 @@
|
|
|
567
567
|
"text-overlay",
|
|
568
568
|
"border-overlay"
|
|
569
569
|
],
|
|
570
|
-
"description": "Focus ring and scrim, both translucent
|
|
570
|
+
"description": "Focus ring and scrim, both translucent neutral ink."
|
|
571
571
|
}
|
|
572
572
|
],
|
|
573
573
|
"exports": [
|
|
@@ -776,6 +776,7 @@
|
|
|
776
776
|
"topLabel",
|
|
777
777
|
"bottomLabel",
|
|
778
778
|
"downloadName",
|
|
779
|
+
"look",
|
|
779
780
|
"className"
|
|
780
781
|
]
|
|
781
782
|
},
|
|
@@ -920,6 +921,12 @@
|
|
|
920
921
|
"module": "file-dropzone",
|
|
921
922
|
"showcaseUrl": "https://ads.actioneer.dev/#/review/file-dropzone",
|
|
922
923
|
"variants": {
|
|
924
|
+
"hasFiles": {
|
|
925
|
+
"values": [
|
|
926
|
+
"true",
|
|
927
|
+
"false"
|
|
928
|
+
]
|
|
929
|
+
},
|
|
923
930
|
"isDragging": {
|
|
924
931
|
"values": [
|
|
925
932
|
"true",
|
|
@@ -1172,6 +1179,13 @@
|
|
|
1172
1179
|
"className"
|
|
1173
1180
|
]
|
|
1174
1181
|
},
|
|
1182
|
+
{
|
|
1183
|
+
"name": "AudioWaveformLook",
|
|
1184
|
+
"family": "Foundations",
|
|
1185
|
+
"kind": "type",
|
|
1186
|
+
"importPath": "@actioneer/ads",
|
|
1187
|
+
"module": "audio-waveform"
|
|
1188
|
+
},
|
|
1175
1189
|
{
|
|
1176
1190
|
"name": "AudioWaveformProps",
|
|
1177
1191
|
"family": "Foundations",
|
|
@@ -5146,7 +5160,7 @@
|
|
|
5146
5160
|
],
|
|
5147
5161
|
"default": "default",
|
|
5148
5162
|
"options": {
|
|
5149
|
-
"default": "Neutral heads-up with a
|
|
5163
|
+
"default": "Neutral heads-up with a neutral icon and no urgency signaled.",
|
|
5150
5164
|
"success": "Grass green confirms a completed or positive outcome.",
|
|
5151
5165
|
"warning": "Flags a non-blocking risk or upcoming issue (e.g. scheduled maintenance), amber accent.",
|
|
5152
5166
|
"danger": "Signals a failure or blocking problem (e.g. connection error) needing attention, red accent.",
|
|
@@ -8437,32 +8451,12 @@
|
|
|
8437
8451
|
"value": "none"
|
|
8438
8452
|
},
|
|
8439
8453
|
{
|
|
8440
|
-
"name": "
|
|
8441
|
-
"value": "0 1px 0 0 rgb(32 32 32 / 0.
|
|
8442
|
-
},
|
|
8443
|
-
{
|
|
8444
|
-
"name": "200",
|
|
8445
|
-
"value": "0 3px 1px -1px rgb(32 32 32 / 0.07)"
|
|
8446
|
-
},
|
|
8447
|
-
{
|
|
8448
|
-
"name": "300",
|
|
8449
|
-
"value": "0 4px 6px -2px rgb(32 32 32 / 0.2)"
|
|
8450
|
-
},
|
|
8451
|
-
{
|
|
8452
|
-
"name": "400",
|
|
8453
|
-
"value": "0 8px 16px -4px rgb(32 32 32 / 0.22)"
|
|
8454
|
-
},
|
|
8455
|
-
{
|
|
8456
|
-
"name": "500",
|
|
8457
|
-
"value": "0 12px 20px -8px rgb(32 32 32 / 0.24)"
|
|
8458
|
-
},
|
|
8459
|
-
{
|
|
8460
|
-
"name": "600",
|
|
8461
|
-
"value": "0 20px 20px -8px rgb(32 32 32 / 0.28)"
|
|
8454
|
+
"name": "float",
|
|
8455
|
+
"value": "0 0 0 1px rgb(32 32 32 / 0.04), 0 2px 4px rgb(32 32 32 / 0.04), 0 8px 20px -4px rgb(32 32 32 / 0.10)"
|
|
8462
8456
|
},
|
|
8463
8457
|
{
|
|
8464
|
-
"name": "
|
|
8465
|
-
"value": "
|
|
8458
|
+
"name": "overlay",
|
|
8459
|
+
"value": "0 0 0 1px rgb(32 32 32 / 0.04), 0 4px 8px rgb(32 32 32 / 0.04), 0 16px 36px -8px rgb(32 32 32 / 0.14)"
|
|
8466
8460
|
},
|
|
8467
8461
|
{
|
|
8468
8462
|
"name": "table-smudge-left",
|
|
@@ -8568,18 +8562,17 @@
|
|
|
8568
8562
|
{
|
|
8569
8563
|
"id": "elevation-is-actionability",
|
|
8570
8564
|
"number": 2,
|
|
8571
|
-
"title": "
|
|
8572
|
-
"rule": "
|
|
8565
|
+
"title": "Five shadows, floating layers only",
|
|
8566
|
+
"rule": "ADS has five shadow tokens: shadow-0 (flat, the default), shadow-float, shadow-overlay, and the two table scroll-hint smudges. Only a layer that floats above the page may carry float or overlay; everything in the page is flat.",
|
|
8573
8567
|
"do": [
|
|
8574
|
-
"Keep
|
|
8575
|
-
"
|
|
8576
|
-
"
|
|
8568
|
+
"Keep cards, panels, chips, buttons, tabs, fields, thumbs, and other in-page surfaces at shadow-0; separate them with fill, border, or spacing.",
|
|
8569
|
+
"Use shadow-float for floating layers that sit over content: toasts, toolbars, the chat composer dock, and any menu or popover that needs lift beyond its border.",
|
|
8570
|
+
"Use shadow-overlay for modals, dialogs, and overlay drawers, so a dialog always reads above a menu."
|
|
8577
8571
|
],
|
|
8578
8572
|
"dont": [
|
|
8579
|
-
"
|
|
8580
|
-
"Use raw shadow values or
|
|
8581
|
-
"
|
|
8582
|
-
"Use shadow-500 or shadow-600 as a routine default."
|
|
8573
|
+
"Put a shadow on an in-page surface for decoration or to signal that it is clickable.",
|
|
8574
|
+
"Use raw shadow values, inset glows, or the removed numbered levels and elevation hook.",
|
|
8575
|
+
"Invent a third floating level; stack order comes from float vs overlay."
|
|
8583
8576
|
],
|
|
8584
8577
|
"enforcedByLint": false
|
|
8585
8578
|
},
|
|
@@ -8737,9 +8730,9 @@
|
|
|
8737
8730
|
"id": "tabs-search-opposed",
|
|
8738
8731
|
"number": 11,
|
|
8739
8732
|
"title": "Tabs lead; scoped search trails",
|
|
8740
|
-
"rule": "When tabs and a search field control the same content, they share one responsive control row: the tab
|
|
8733
|
+
"rule": "When tabs and a search field control the same content, they share one responsive control row: the tab list leads with its triggers left-aligned at their natural width over a baseline that fades from WG3 to transparent, and search sits at the trailing edge. Stack only when the container cannot fit both.",
|
|
8741
8734
|
"do": [
|
|
8742
|
-
"Keep
|
|
8735
|
+
"Keep tab triggers left-aligned at their natural width, then place the scoped search field opposite them in the same toolbar.",
|
|
8743
8736
|
"On constrained containers, stack tabs first and search second while preserving their relationship."
|
|
8744
8737
|
],
|
|
8745
8738
|
"dont": [
|
|
@@ -9667,10 +9660,10 @@
|
|
|
9667
9660
|
]
|
|
9668
9661
|
},
|
|
9669
9662
|
"counts": {
|
|
9670
|
-
"nodes":
|
|
9671
|
-
"edges":
|
|
9663
|
+
"nodes": 808,
|
|
9664
|
+
"edges": 550,
|
|
9672
9665
|
"component": 323,
|
|
9673
|
-
"state":
|
|
9666
|
+
"state": 463,
|
|
9674
9667
|
"principle": 11,
|
|
9675
9668
|
"production": 9,
|
|
9676
9669
|
"layout": 2
|
|
@@ -9946,6 +9939,30 @@
|
|
|
9946
9939
|
"showcaseUrl": "https://ads.actioneer.dev/#/review/file-dropzone",
|
|
9947
9940
|
"description": ""
|
|
9948
9941
|
},
|
|
9942
|
+
{
|
|
9943
|
+
"id": "state:FileDropzone:hasFiles=true",
|
|
9944
|
+
"kind": "state",
|
|
9945
|
+
"label": "hasFiles=true",
|
|
9946
|
+
"component": "FileDropzone",
|
|
9947
|
+
"axis": "hasFiles",
|
|
9948
|
+
"value": "true",
|
|
9949
|
+
"required": false,
|
|
9950
|
+
"derived": true,
|
|
9951
|
+
"isDefault": false,
|
|
9952
|
+
"description": ""
|
|
9953
|
+
},
|
|
9954
|
+
{
|
|
9955
|
+
"id": "state:FileDropzone:hasFiles=false",
|
|
9956
|
+
"kind": "state",
|
|
9957
|
+
"label": "hasFiles=false",
|
|
9958
|
+
"component": "FileDropzone",
|
|
9959
|
+
"axis": "hasFiles",
|
|
9960
|
+
"value": "false",
|
|
9961
|
+
"required": false,
|
|
9962
|
+
"derived": true,
|
|
9963
|
+
"isDefault": false,
|
|
9964
|
+
"description": ""
|
|
9965
|
+
},
|
|
9949
9966
|
{
|
|
9950
9967
|
"id": "state:FileDropzone:isDragging=true",
|
|
9951
9968
|
"kind": "state",
|
|
@@ -14558,7 +14575,7 @@
|
|
|
14558
14575
|
"required": false,
|
|
14559
14576
|
"derived": true,
|
|
14560
14577
|
"isDefault": true,
|
|
14561
|
-
"description": "Neutral heads-up with a
|
|
14578
|
+
"description": "Neutral heads-up with a neutral icon and no urgency signaled."
|
|
14562
14579
|
},
|
|
14563
14580
|
{
|
|
14564
14581
|
"id": "state:Alert:variant=success",
|
|
@@ -17501,9 +17518,9 @@
|
|
|
17501
17518
|
{
|
|
17502
17519
|
"id": "principle:elevation-is-actionability",
|
|
17503
17520
|
"kind": "principle",
|
|
17504
|
-
"label": "
|
|
17521
|
+
"label": "Five shadows, floating layers only",
|
|
17505
17522
|
"number": 2,
|
|
17506
|
-
"rule": "
|
|
17523
|
+
"rule": "ADS has five shadow tokens: shadow-0 (flat, the default), shadow-float, shadow-overlay, and the two table scroll-hint smudges. Only a layer that floats above the page may carry float or overlay; everything in the page is flat."
|
|
17507
17524
|
},
|
|
17508
17525
|
{
|
|
17509
17526
|
"id": "principle:motion-follows-guide",
|
|
@@ -17566,7 +17583,7 @@
|
|
|
17566
17583
|
"kind": "principle",
|
|
17567
17584
|
"label": "Tabs lead; scoped search trails",
|
|
17568
17585
|
"number": 11,
|
|
17569
|
-
"rule": "When tabs and a search field control the same content, they share one responsive control row: the tab
|
|
17586
|
+
"rule": "When tabs and a search field control the same content, they share one responsive control row: the tab list leads with its triggers left-aligned at their natural width over a baseline that fades from WG3 to transparent, and search sits at the trailing edge. Stack only when the container cannot fit both."
|
|
17570
17587
|
},
|
|
17571
17588
|
{
|
|
17572
17589
|
"id": "state:Button:interaction=default",
|
|
@@ -18429,6 +18446,18 @@
|
|
|
18429
18446
|
"target": "state:CodeBlock:variant=plain",
|
|
18430
18447
|
"relation": "supports-state"
|
|
18431
18448
|
},
|
|
18449
|
+
{
|
|
18450
|
+
"id": "component:FileDropzone:supports-state:state:FileDropzone:hasFiles=true:global",
|
|
18451
|
+
"source": "component:FileDropzone",
|
|
18452
|
+
"target": "state:FileDropzone:hasFiles=true",
|
|
18453
|
+
"relation": "supports-state"
|
|
18454
|
+
},
|
|
18455
|
+
{
|
|
18456
|
+
"id": "component:FileDropzone:supports-state:state:FileDropzone:hasFiles=false:global",
|
|
18457
|
+
"source": "component:FileDropzone",
|
|
18458
|
+
"target": "state:FileDropzone:hasFiles=false",
|
|
18459
|
+
"relation": "supports-state"
|
|
18460
|
+
},
|
|
18432
18461
|
{
|
|
18433
18462
|
"id": "component:FileDropzone:supports-state:state:FileDropzone:isDragging=true:global",
|
|
18434
18463
|
"source": "component:FileDropzone",
|