@actioneer/ads 1.0.7 → 1.0.9

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.
Files changed (87) hide show
  1. package/DESIGN.md +119 -91
  2. package/README.md +19 -1
  3. package/components/ai-elements/chart.js +20 -20
  4. package/components/ai-elements/inline-citation.js +50 -50
  5. package/components/ai-elements/message.js +1 -1
  6. package/components/ai-elements/tool.js +5 -5
  7. package/components/alert.d.ts +3 -2
  8. package/components/alert.js +25 -25
  9. package/components/answer.js +1 -1
  10. package/components/assistant-ui/action-bar.js +1 -1
  11. package/components/assistant-ui/attachment.js +68 -49
  12. package/components/assistant-ui/composer-add-context.js +1 -1
  13. package/components/assistant-ui/composer-harness.js +5 -4
  14. package/components/assistant-ui/composer-trigger-popover.js +1 -1
  15. package/components/assistant-ui/composer.js +13 -13
  16. package/components/assistant-ui/message-timing.js +6 -6
  17. package/components/assistant-ui/selection-toolbar.js +5 -5
  18. package/components/assistant-ui/sources.js +15 -15
  19. package/components/assistant-ui/tooltip-icon-button.js +18 -14
  20. package/components/audio-waveform.d.ts +21 -8
  21. package/components/audio-waveform.js +371 -94
  22. package/components/autocomplete.js +9 -9
  23. package/components/breadcrumbs.js +36 -42
  24. package/components/button.d.ts +16 -1
  25. package/components/button.js +86 -73
  26. package/components/card.js +1 -1
  27. package/components/chart.d.ts +31 -4
  28. package/components/chart.js +900 -666
  29. package/components/chip.d.ts +2 -1
  30. package/components/chip.js +56 -51
  31. package/components/command-palette.js +12 -12
  32. package/components/connector-card.d.ts +1 -2
  33. package/components/connector-card.js +17 -17
  34. package/components/date-range-picker.js +1 -2
  35. package/components/drawer.js +9 -10
  36. package/components/dropdown.js +1 -1
  37. package/components/empty-state.d.ts +2 -0
  38. package/components/empty-state.js +17 -15
  39. package/components/field.js +9 -10
  40. package/components/file-dropzone.d.ts +6 -3
  41. package/components/file-dropzone.js +72 -60
  42. package/components/filters.d.ts +37 -0
  43. package/components/filters.js +129 -0
  44. package/components/index.d.ts +1 -0
  45. package/components/index.js +447 -444
  46. package/components/infinite-canvas.js +9 -9
  47. package/components/modal.d.ts +2 -1
  48. package/components/modal.js +102 -91
  49. package/components/page-body.js +8 -8
  50. package/components/popover.d.ts +6 -1
  51. package/components/popover.js +75 -65
  52. package/components/progress-circle.d.ts +1 -1
  53. package/components/progress-circle.js +57 -48
  54. package/components/segmented.d.ts +1 -0
  55. package/components/segmented.js +34 -36
  56. package/components/select.js +2 -2
  57. package/components/selection-action-bar.js +32 -31
  58. package/components/setting-row.js +10 -10
  59. package/components/sidebar.d.ts +15 -0
  60. package/components/sidebar.js +186 -149
  61. package/components/slider.js +5 -5
  62. package/components/stepper.d.ts +1 -1
  63. package/components/stepper.js +1 -1
  64. package/components/switch.js +10 -10
  65. package/components/table.d.ts +10 -2
  66. package/components/table.js +380 -366
  67. package/components/tabs.d.ts +6 -1
  68. package/components/tabs.js +32 -29
  69. package/components/timeline.js +3 -3
  70. package/components/toast.js +53 -56
  71. package/components/ui/button.js +4 -4
  72. package/components/ui/dialog.js +1 -1
  73. package/components/viz-charts.js +263 -221
  74. package/demo/components/add-to-artifact.js +3 -2
  75. package/examples/README.md +31 -0
  76. package/examples/agents-screen.tsx +477 -0
  77. package/examples/campaign-analysis-screen.tsx +138 -0
  78. package/examples/campaigns-screen.tsx +439 -0
  79. package/examples/settings-screen.tsx +90 -0
  80. package/examples/workspace-header.tsx +71 -0
  81. package/lib/icons.d.ts +8 -0
  82. package/lib/icons.js +171 -118
  83. package/llms.txt +93 -29
  84. package/manifest.json +1660 -113
  85. package/package.json +1 -1
  86. package/styles.css +55 -68
  87. package/theme.css +50 -59
package/lib/icons.js CHANGED
@@ -1,123 +1,176 @@
1
1
  "use client";
2
- import { jsx as h } from "react/jsx-runtime";
3
- import * as C from "react";
4
- import { Code as g, Check as p, Copy as u, FileText as $, X as d, UploadSimple as S, EyeSlash as k, Eye as P, MagnifyingGlass as f, Minus as w, Plus as T, CaretDown as A, Info as L, WarningCircle as m, Warning as y, CheckCircle as B, CaretRight as U, CaretUp as x, ArrowsDownUp as I, ChatCircle as M, ArrowUpRight as D, Clock as O, Database as F, ArrowSquareOut as b, Table as R, CaretLeft as v, CornersOut as H, Magnet as G, Tray as W, ArrowLeft as E, DotsThree as z, User as V, XCircle as N, CircleDashed as Q, ArrowsClockwise as q, Paperclip as X, Quotes as j, At as J, Lightning as K, Sparkle as Y, File as Z, DownloadSimple as _, Image as n, BracketsCurly as ee, MusicNotes as oe, VideoCamera as te, ImageBroken as ne, Pulse as se, Archive as ae, ArrowDown as re, ArrowRight as ce, ArrowUp as le, Scroll as ie, Bell as he, Stack as Ce, BookOpen as ge, Brain as pe, CalendarBlank as ue, Phone as $e, ListChecks as de, Cube as Se, DotsNine as ke, FunnelSimple as Pe, Folder as fe, FolderOpen as we, Gauge as Te, GitBranch as Ae, Hash as Le, ClockCounterClockwise as me, House as ye, SquaresFour as Be, Leaf as Ue, Lightbulb as xe, Link as Ie, CircleNotch as Me, SignOut as De, Envelope as Oe, Microphone as Fe, MicrophoneSlash as be, DotsThreeVertical as Re, Palette as ve, SidebarSimple as He, Pause as Ge, PencilSimple as We, PhoneIncoming as Ee, PhoneSlash as ze, ChartPie as Ve, Play as Ne, Plug as Qe, Presentation as qe, Rocket as Xe, Gear as je, Shapes as Je, ShareNetwork as Ke, Star as Ye, Stop as Ze, ArrowsLeftRight as _e, Target as eo, Binoculars as oo, TextB as to, TextT as no, TextItalic as so, TextStrikethrough as ao, TextUnderline as ro, ToggleRight as co, Trash as lo, Users as io, Wrench as ho } from "@phosphor-icons/react";
5
- function e(s, a) {
6
- const o = C.forwardRef(function({ strokeWidth: t, weight: r, ...c }, l) {
7
- const i = r ?? (t != null && t >= 2 ? "bold" : "regular");
8
- return /* @__PURE__ */ h(s, { ref: l, size: "1em", weight: i, ...c });
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, FunnelSimple as I, Info as y, WarningCircle as U, Warning as F, CheckCircle as M, CaretRight as D, CaretUp as O, ArrowsDownUp as b, ChatCircle as R, ArrowUpRight as v, Clock as H, Database as E, ArrowSquareOut as G, Table as W, CaretLeft as z, CornersOut as V, Magnet as N, Tray as j, ArrowLeft as X, DotsThree as Q, User as q, XCircle as _, CircleDashed as J, ArrowsClockwise as K, Paperclip as Y, Quotes as Z, At as ee, Lightning as oe, Sparkle as te, File as ne, DownloadSimple as se, Image as C, BracketsCurly as ae, MusicNotes as re, VideoCamera as ce, ImageBroken as ie, Pulse as le, Archive as he, ArrowDown as Ce, ArrowRight as ge, ArrowUp as ue, Scroll as pe, Bell as de, Stack as $e, BookOpen as ke, Brain as Se, CalendarBlank as fe, Phone as Pe, ListChecks as Te, Cube as we, DotsNine 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 o.displayName = a, o;
59
+ return i.displayName = c, i;
11
60
  }
12
- const uo = e(re, "ArrowDown"), $o = e(E, "ArrowLeft"), So = e(ce, "ArrowRight"), ko = e(le, "ArrowUp"), Po = e(D, "ArrowUpRight"), fo = e(A, "ChevronDown"), wo = e(v, "ChevronLeft"), To = e(U, "ChevronRight"), Ao = e(x, "ChevronUp"), Lo = e(I, "SortIcon"), mo = e(_e, "SwapHorizontal"), yo = e(b, "ExternalLink"), Bo = e(He, "PanelLeft"), Uo = e(J, "At"), xo = e($e, "Call"), Io = e(Ee, "PhoneIncoming"), Mo = e(d, "Close"), Do = e(N, "CloseCircle"), Oo = e(u, "Copy"), Fo = e(_, "Download"), bo = e(De, "LogOut"), Ro = e(Fe, "Mic"), vo = e(be, "MicOff"), Ho = e(ze, "PhoneOff"), Go = e(We, "Pencil"), Wo = e(j, "Quote"), Eo = e(P, "Eye"), zo = e(k, "EyeOff"), Vo = e(Le, "Hash"), No = e(n, "ImageUpload"), Qo = e(S, "Upload"), qo = e(no, "TextFont"), Xo = e(to, "TextBold"), jo = e(so, "TextItalicStyle"), Jo = e(ao, "TextStrike"), Ko = e(ro, "TextUnderlineStyle"), Yo = e(co, "ToggleOn"), Zo = e(ue, "Calendar"), _o = e(O, "Clock"), et = e(g, "Code"), ot = e(Ze, "Stop"), tt = e(G, "Magnet"), nt = e(H, "Maximize"), st = e(w, "Minus"), at = e(z, "MoreHorizontal"), rt = e(Re, "MoreVertical"), ct = e(ke, "DragHandle"), lt = e(Ie, "Link"), it = e(T, "Plus"), ht = e(q, "Refresh"), Ct = e(ie, "AuditTrail"), gt = e(f, "Search"), pt = e(Ke, "Share"), ut = e(lo, "Trash"), $t = e(p, "Check"), dt = e(Me, "Loader"), St = e(B, "CheckCircle"), kt = e(L, "Info"), Pt = e(y, "Warning"), ft = e(he, "Bell"), wt = e(m, "WarningCircle"), Tt = e(se, "Activity"), At = e(M, "AgentChat"), Lt = e(K, "Bolt"), mt = e(ge, "BookOpen"), yt = e(pe, "Brain"), Bt = e(de, "CheckList"), Ut = e(Se, "Component"), xt = e(F, "Database"), It = e(R, "Table"), Mt = e(Pe, "Filter"), Dt = e(ae, "Archive"), Ot = e(Z, "File"), Ft = e($, "FileText"), bt = e(fe, "Folder"), Rt = e(n, "Image"), vt = e(ne, "ImageOff"), Ht = e(oe, "Music"), Gt = e(te, "Video"), Wt = e(ee, "Braces"), Et = e(we, "FolderOpen"), zt = e(Te, "Gauge"), Vt = e(Ae, "GitBranch"), Nt = e(me, "HistoryClock"), Qt = e(ye, "Home"), qt = e(Ce, "Blocks"), Xt = e(W, "Inbox"), jt = e(xe, "Lightbulb"), Jt = e(Ue, "Leaf"), Kt = e(Be, "LayoutGrid"), Yt = e(Oe, "Mail"), Zt = e(ve, "Palette"), _t = e(Ve, "PieChart"), en = e(Qe, "Plug"), on = e(Xe, "Rocket"), tn = e(je, "Settings"), nn = e(Je, "Shapes"), sn = e(Y, "Sparkles"), an = e(Ye, "Star"), rn = e(oo, "Telescope"), cn = e(eo, "Target"), ln = e(V, "User"), hn = e(io, "Users"), Cn = e(Ne, "Play"), gn = e(qe, "Presentation"), pn = e(Ge, "Pause"), un = e(X, "Paperclip"), $n = e(Q, "CircleDashed"), dn = e(ho, "Wrench");
61
+ const wo = e(Ce, "ArrowDown"), Lo = e(X, "ArrowLeft"), Ao = e(ge, "ArrowRight"), mo = e(ue, "ArrowUp"), xo = e(v, "ArrowUpRight"), Bo = e(B, "ChevronDown"), Io = e(z, "ChevronLeft"), yo = e(D, "ChevronRight"), Uo = e(O, "ChevronUp"), Fo = e(b, "SortIcon"), Mo = e(no, "SwapHorizontal"), Do = e(G, "ExternalLink"), Oo = e(ze, "PanelLeft"), bo = e(ee, "At"), Ro = e(Pe, "Call"), vo = e(je, "PhoneIncoming"), Ho = e(T, "Close"), Eo = e(_, "CloseCircle"), Go = e(S, "Copy"), Wo = e(se, "Download"), zo = e(Re, "LogOut"), Vo = e(He, "Mic"), No = e(Ee, "MicOff"), jo = e(Xe, "PhoneOff"), Xo = e(Ne, "Pencil"), Qo = e(Z, "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(fe, "Calendar"), rt = e(H, "Clock"), ct = e($, "Code"), it = e(to, "Stop"), lt = e(N, "Magnet"), ht = e(V, "Maximize"), Ct = e(m, "Minus"), gt = e(Q, "MoreHorizontal"), ut = e(Ge, "MoreVertical"), pt = e(Le, "DragHandle"), dt = e(Oe, "Link"), $t = e(x, "Plus"), kt = e(K, "Refresh"), St = e(pe, "AuditTrail"), ft = e(A, "Search"), Pt = e(eo, "Share"), Tt = e(go, "Trash"), wt = e(k, "Check"), Lt = e(be, "Loader"), At = e(M, "CheckCircle"), mt = e(y, "Info"), xt = e(F, "Warning"), Bt = e(de, "Bell"), It = e(U, "WarningCircle"), yt = e(le, "Activity"), Ut = e(R, "AgentChat"), Ft = e(oe, "Bolt"), Mt = e(ke, "BookOpen"), Dt = e(Se, "Brain"), Ot = e(Te, "CheckList"), bt = e(we, "Component"), Rt = e(E, "Database"), vt = e(W, "Table"), Ht = e(I, "Filter"), Et = e(he, "Archive"), Gt = e(ne, "File"), Wt = e(f, "FileText"), zt = e(Ae, "Folder"), Vt = e(C, "Image"), Nt = e(ie, "ImageOff"), jt = e(re, "Music"), Xt = e(ce, "Video"), Qt = e(ae, "Braces"), qt = e(me, "FolderOpen"), _t = e(xe, "Gauge"), Jt = e(Be, "GitBranch"), Kt = e(ye, "HistoryClock"), Yt = e(Ue, "Home"), Zt = e($e, "Blocks"), en = e(j, "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(te, "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(Y, "Paperclip"), wn = e(J, "CircleDashed"), Ln = e(po, "Wrench");
13
65
  export {
14
- Tt as Activity,
15
- At as AgentChat,
16
- Dt as Archive,
17
- uo as ArrowDown,
18
- $o as ArrowLeft,
19
- So as ArrowRight,
20
- ko as ArrowUp,
21
- Po as ArrowUpRight,
22
- Uo as At,
23
- Ct as AuditTrail,
24
- ft as Bell,
25
- qt as Blocks,
26
- Lt as Bolt,
27
- mt as BookOpen,
28
- Wt as Braces,
29
- yt as Brain,
30
- Zo as Calendar,
31
- xo as Call,
32
- $t as Check,
33
- St as CheckCircle,
34
- Bt as CheckList,
35
- fo as ChevronDown,
36
- wo as ChevronLeft,
37
- To as ChevronRight,
38
- Ao as ChevronUp,
39
- $n as CircleDashed,
40
- _o as Clock,
41
- Mo as Close,
42
- Do as CloseCircle,
43
- et as Code,
44
- Ut as Component,
45
- Oo as Copy,
46
- xt as Database,
47
- Fo as Download,
48
- ct as DragHandle,
49
- yo as ExternalLink,
50
- Eo as Eye,
51
- zo as EyeOff,
52
- Ot as File,
53
- Ft as FileText,
54
- Mt as Filter,
55
- bt as Folder,
56
- Et as FolderOpen,
57
- zt as Gauge,
58
- Vt as GitBranch,
59
- Vo as Hash,
60
- Nt as HistoryClock,
61
- Qt as Home,
62
- Rt as Image,
63
- vt as ImageOff,
64
- No as ImageUpload,
65
- Xt as Inbox,
66
- kt as Info,
67
- Kt as LayoutGrid,
68
- Jt as Leaf,
69
- jt as Lightbulb,
70
- lt as Link,
71
- dt as Loader,
72
- bo as LogOut,
73
- tt as Magnet,
74
- Yt as Mail,
75
- nt as Maximize,
76
- Ro as Mic,
77
- vo as MicOff,
78
- st as Minus,
79
- at as MoreHorizontal,
80
- rt as MoreVertical,
81
- Ht as Music,
82
- Zt as Palette,
83
- Bo as PanelLeft,
84
- un as Paperclip,
85
- pn as Pause,
86
- Go as Pencil,
87
- Io as PhoneIncoming,
88
- Ho as PhoneOff,
89
- _t as PieChart,
90
- Cn as Play,
91
- en as Plug,
92
- it as Plus,
93
- gn as Presentation,
94
- Wo as Quote,
95
- ht as Refresh,
96
- on as Rocket,
97
- gt as Search,
98
- tn as Settings,
99
- nn as Shapes,
100
- pt as Share,
101
- Lo as SortIcon,
102
- sn as Sparkles,
103
- an as Star,
104
- ot as Stop,
105
- mo as SwapHorizontal,
106
- It as Table,
107
- cn as Target,
108
- rn as Telescope,
109
- Xo as TextBold,
110
- qo as TextFont,
111
- jo as TextItalicStyle,
112
- Jo as TextStrike,
113
- Ko as TextUnderlineStyle,
114
- Yo as ToggleOn,
115
- ut as Trash,
116
- Qo as Upload,
117
- ln as User,
118
- hn as Users,
119
- Gt as Video,
120
- Pt as Warning,
121
- wt as WarningCircle,
122
- dn as Wrench
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 warm ink.
74
- - `overlay` — Focus ring and scrim, both translucent warm ink.
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. Shadow only by request [judgment]
92
+ ### 2. Five shadows, floating layers only [judgment]
93
93
 
94
- Every surface defaults to shadow-0. Use the numbered elevation ladder only when the user explicitly requests a shadow for the named surface; the legacy shadow-elevation hook remains flat.
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 controls, cards, menus, overlays, panels, and other surfaces at shadow-0 unless the user specifically requests elevation.
97
- - Do: When requested, use shadow-100 for controls, shadow-200 for raised surfaces and pressable cards, shadow-300 for menus, popovers, listboxes, and toasts, and shadow-400 for dialogs and overlay drawers.
98
- - Do: Reserve shadow-500 and shadow-600 for rare higher stacked layers; the legacy shadow-elevation hook resolves to shadow-0.
99
- - Don't: Infer permission to use a shadow from actionability, floating placement, or component type.
100
- - Don't: Use raw shadow values or legacy named shadow utilities.
101
- - Don't: Put a shadow on a non-interactive surface for decoration.
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
 
@@ -161,7 +160,7 @@ A screen carries ONLY what the user needs to move forward: one title, the inputs
161
160
  - Do: Prefer more, smaller steps over dense ones; ask one thing at a time.
162
161
  - Do: Derive instead of asking whenever possible (a name from a work email, the company from its domain).
163
162
  - Do: Prefer clear text-only buttons; add an icon only when it communicates essential meaning the label cannot carry alone, or for a compact conventional icon-only control.
164
- - Do: Render multi-step flows full-screen — a single content container that holds the inputs and its own Back/Continue is fine.
163
+ - Do: Open a multi-step create task launched from a collection (New campaign) as a Modal over that list: title-only header, one scrolling form (for New campaign: Campaign name, Caller numbers, Audience), and Cancel + Create together in the footer — the user never loses their place. Add a Stepper only when the task truly has separate steps. Form modals use a fixed height (Modal height="fixed", 640px) so the frame never resizes: the header and footer stay put and ModalBody scrolls. Standalone onboarding flows render full-screen with a single content container holding the inputs and its own Back/Continue.
165
164
  - Don't: Add section eyebrows above a title that already names the screen, or helper text that restates the obvious / duplicates a disabled button's meaning.
166
165
  - Don't: Add any header description unless the user explicitly requested supporting copy for that page, section, panel, modal, dialog, drawer, or popover.
167
166
  - Don't: Decorate a labeled button with a redundant leading or trailing icon.
@@ -177,24 +176,78 @@ ADS targets landscape tablet (1024) → laptop (1440) → wide display (1920+);
177
176
  - Don't: Use sm:/md: viewport variants inside src/components, or hardcode a pane width there.
178
177
  - Don't: Cap a grid at a hard column count so it stops growing on wide displays.
179
178
 
180
- ### 10. Back navigation is leading [judgment]
179
+ ### 10. Back navigation is leading; drill-downs use the breadcrumb [judgment]
181
180
 
182
- A page-level Back control sits immediately before the page title in the leading header cluster. It is icon-only with an accessible label and never appears on the right with forward/page actions.
181
+ A record or drill-down page (a campaign inside Voice campaigns, a connector inside Data Integrations) is titled by its Breadcrumbs trail — parent / record at 16px — with no back arrow and no repeated H1; the page's one primary action sits at the right end of the same row. A standalone page-level Back control, when one is needed outside a hierarchy, sits immediately before the title and never on the right.
183
182
 
184
- - Do: Use PageHeader with onBack so the left arrow is anchored directly before the title.
185
- - Do: Reserve the trailing header area for forward or page-level actions such as Add, Save, or Share.
183
+ - Do: Title a drill-down with Breadcrumbs (16px trail: muted parent links, Medium current item) and put its primary action (e.g. Pause campaign) right-aligned on the same row.
184
+ - Do: Use PageHeader with onBack only for a standalone page that has no parent hierarchy to show.
185
+ - Do: Reserve the trailing header area for forward or page-level actions such as Add, Save, Pause, or Share.
186
+ - Don't: Stack a back arrow and a large H1 above a page whose parent is already known — the breadcrumb says both.
186
187
  - Don't: Place Back on the right side of a page header.
187
188
  - Don't: Render a redundant visible Back label when the standard left arrow and accessible label are sufficient.
188
189
 
189
190
  ### 11. Tabs lead; scoped search trails [judgment]
190
191
 
191
- When tabs and a search field control the same content, they share one responsive control row: the tab track hugs its labels at the leading edge and search sits at the trailing edge. Stack only when the container cannot fit both.
192
+ 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. On collection screens the trailing controls are icon triggers — SearchDisclosure (expands into the field) then Filters — and tab labels are 14px with a quieter count after each label.
192
193
 
193
- - Do: Keep the horizontal TabList content-width, then place the scoped search field opposite it in the same toolbar.
194
+ - Do: Keep tab triggers left-aligned at their natural width, then place the scoped search opposite them in the same toolbar.
195
+ - Do: On collection screens use SearchDisclosure followed by Filters as 32px icon triggers at the trailing edge; keep the page header for the title and one primary action only.
196
+ - Do: Give each status tab its count (All 42 · Active 14 · Paused 4); the count renders Regular in tertiary grey, teal on the active tab.
194
197
  - Do: On constrained containers, stack tabs first and search second while preserving their relationship.
195
198
  - Don't: Stretch the tab track to fill the space between its labels and the search field.
196
199
  - Don't: Put a scoped search field on a separate row above its tabs when both controls fit side by side.
197
200
  - Don't: Place search before tabs in the reading or keyboard order.
201
+ - Don't: Put a Search button or a full-width search field in the page header of a collection screen.
202
+
203
+ ### 12. Collection screens fill the panel [judgment]
204
+
205
+ A collection screen (campaigns, call logs, leads) is one white panel: BodyPageHeader (title + one primary action), the tab/search/filter row, then a Table whose rows fill the panel's height with Pagination pinned to its bottom edge. Rows open details in a shell-level side panel; the list stays visible.
206
+
207
+ - Do: Size the page so the rows fill the panel to its 24px bottom inset and Pagination sits at the bottom; let only the rows scroll.
208
+ - Do: Show row checkboxes only on hover/focus (and while checked or mixed); keep the header select-all checkbox always visible.
209
+ - Do: When a row's details are open, mark it with TableRow isActive (the soft-teal fade) — no radio and no selection column for that purpose.
210
+ - Do: Put status in a Chip using business language (see status-language) and keep cell values at text-m.
211
+ - Do: Show the customer's workspace logo in the Sidebar brand slot (SidebarWorkspace) when the product runs inside a customer workspace.
212
+ - Don't: Leave an empty band under a short table, or float Pagination mid-panel.
213
+ - Don't: Use single-selection radios to mean 'this row is open'.
214
+ - Don't: Show a checkbox on every resting row of a multi-select table.
215
+ - Don't: Open record details in a modal over the list you are scanning.
216
+
217
+ ### 13. Record detail panels are grouped by question [judgment]
218
+
219
+ A selection-driven detail panel reads top-down as: kicker (the KIND of record), title, then the record's status Chip and its one-line context directly under the title; then titled sections 32px apart — Performance (stat cards + chart card) and Details (label–value rows with inset dividers); then footer actions (secondary outline + one solid primary).
220
+
221
+ - Do: Put the status Chip and its context ("Finished Oct 21") in the header, 4px under the title, so status never floats on its own.
222
+ - Do: Group numbers in small outlined stat cards (WG3 edge, radius-l, 12px padding, 8px apart) and the trend in its own chart card.
223
+ - Do: List attributes (owner, started, calling windows) as label–value rows: label secondary left, value primary right, inset WG3 dividers.
224
+ - Do: Separate sections with 32px and keep items inside a section ≤16px apart; give each section a 14px Medium title.
225
+ - Don't: Mix attributes (owner) into the metric grid.
226
+ - Don't: Leave a lone chip or line of metadata between the title and the first section.
227
+ - Don't: Repeat the same fact (finish date) in the header and in Details.
228
+
229
+ ### 14. Stats and charts sit in their own containers, values visible [judgment]
230
+
231
+ On analytics/record pages every stat and every chart is its own outlined container (1px WG3 border, radius-l, 20px padding, white, flat) on the white panel, 16px apart. Values are printed on the chart by default — never hover-only — and the legend sits at the right end of the chart's title row.
232
+
233
+ - Do: Stat card: label (14px secondary) → number (32px) with its scope ("of 4,800 calls") 4px apart, then a Progress bar 12px below that fills the card width.
234
+ - Do: Chart card: title (16px Medium) + scope subtitle (12px secondary) on the left, the legend right-aligned on the same row, ~40px from the title block to the plot.
235
+ - Do: Bar charts print each bar's value; stacked bars print each segment that fits plus the stack total. Line charts print every point's value in the series colour (secondary grey for light amber/grey series).
236
+ - Do: Size charts so the cards end on the panel's 24px bottom inset.
237
+ - Don't: Separate stats with vertical hairlines while their bars run into the next stat — proximity breaks.
238
+ - Don't: Hide numbers behind a hover tooltip.
239
+ - Don't: Give a legend its own row under the subtitle when it fits beside the title.
240
+ - Don't: Put the same spacing between a label and its value as between two separate cards.
241
+
242
+ ### 15. Status speaks the business, with one tone per meaning [judgment]
243
+
244
+ Status labels name the business state, not the machine's activity, and tabs use the same words. Campaign statuses: Active and Scheduled (info blue), Paused (warning amber), Completed (success green), Draft (default grey), Failed (danger red). Teal is reserved for actions and selection, not for a status.
245
+
246
+ - Do: Say Active, not Dialing; name the tab Active too (All · Draft · Active · Paused · Completed).
247
+ - Do: Use Chip tones consistently for the same status everywhere (table cell, detail header, filters).
248
+ - Do: Use the plain Chip appearance (square dot + 14px text) where a column of filled chips would shout louder than the record names.
249
+ - Don't: Colour a status with the primary teal — it competes with the primary action and the selected-row fade.
250
+ - Don't: Use different words for the same state in the tab, the chip and the filter.
198
251
 
199
252
  ## UI grammar
200
253
 
@@ -204,8 +257,10 @@ Before composing a screen, match its intent to one production below, preserve th
204
257
  - `browse-with-detail` — Browse with selection-driven detail: A primary browse Panel and an inline Drawer mounted as shell-level siblings. (intents: browse, records, list detail, inspector, audit log; Storybook: ADS/Components/Navigation/Sidebar)
205
258
  - `data-table` — Structured data table: Semantic table anatomy with matching header and body rows. (intents: table, records, comparison, sorting, selection; Storybook: ADS/Components/Data display/Table)
206
259
  - `tabbed-results` — Tabbed results with scoped search: Tabs lead and a scoped search trails in one responsive control row. (intents: tabs, filter, search, results, segmented views; Storybook: ADS/Components/Data display/Tabs)
260
+ - `collection-screen` — Collection screen with record detail: BodyPageHeader (title + one primary action), a control row with counted Tabs leading and SearchDisclosure + Filters trailing, a Table whose rows fill the panel with Pagination at its bottom edge, a shell-level Drawer for the open record, and a fixed-height Modal for the create task. (intents: campaigns, call logs, leads, records list, collection, list page, new campaign; Storybook: ADS/Components/Table)
261
+ - `record-analytics` — Record analytics page: A drill-down page titled by its Breadcrumbs (parent / record) with the primary action on the same row, record Tabs, then outlined stat cards and outlined chart cards whose legends sit in their title row and whose values are printed. (intents: analysis, analytics tab, record page, campaign analysis, metrics, dashboard tab; Storybook: ADS/Components/Chart)
207
262
  - `modal-task` — Blocking modal task: A focused interruption with one title, body, and decisive footer. (intents: modal, confirmation, short form, blocking task, destructive action; Storybook: ADS/Components/Overlays/Modal)
208
- - `settings-card` — Settings card: A compact settings surface with grouped SettingRows and one save action. (intents: settings, preferences, configuration, toggles; Storybook: ADS/Recipes/Settings panel)
263
+ - `settings-card` — Settings card: A compact settings surface with grouped SettingRows and one save action. (intents: settings, preferences, configuration, toggles; Storybook: ADS/Components/Under review/SettingList / SettingRow)
209
264
  - `research-trace` — Inspectable research trace: ResearchActivity owns the run summary and contains the canonical ChainOfThought tree. (intents: agent trace, research, tool activity, sources, long-running task; Storybook: ADS/Components/AI Elements/Research Activity)
210
265
  - `typed-answer` — Typed research answer: A request/answer turn where structured output flows through AnswerRenderer. (intents: answer, research result, citations, follow-up, assistant response; Storybook: ADS/Components/AI Elements/Message)
211
266
  - `workflow-canvas` — Workflow canvas: InfiniteCanvas owns pan, zoom, grid, edges, controls, and responsive canvas chrome. (intents: workflow, node graph, canvas, diagram, flow builder; Storybook: ADS/Components/Data display/InfiniteCanvas)
@@ -254,7 +309,7 @@ Before using any component below, preserve its built-in motion and apply the mot
254
309
  - [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
310
  - [FieldDescription] — component [docs](https://ads.actioneer.dev/#/field)
256
311
  - [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)
312
+ - [FileDropzone] — component (variants: hasFiles: true|false; isDragging: true|false; isDisabled: true|false) [docs](https://ads.actioneer.dev/#/review/file-dropzone)
258
313
  - [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
314
  - [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
315
  - [Label] — component [docs](https://ads.actioneer.dev/#/field)
@@ -269,8 +324,10 @@ Before using any component below, preserve its built-in motion and apply the mot
269
324
  - [Stepper] — component (variants: status: complete|current|upcoming|error; size: sm|md) [docs](https://ads.actioneer.dev/#/review/stepper)
270
325
  - [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
326
  - [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)
327
+ - [AudioWaveformLook] — TypeScript type
272
328
  - [AudioWaveformProps] — TypeScript type
273
329
  - [ButtonProps] — TypeScript type
330
+ - [ButtonSize] — TypeScript type
274
331
  - [CodeBlockProps] — TypeScript type
275
332
  - [DividerProps] — TypeScript type
276
333
  - [FieldProps] — TypeScript type
@@ -306,6 +363,7 @@ Before using any component below, preserve its built-in motion and apply the mot
306
363
  - [Checkbox] — Use for a standalone boolean toggle or a multi-select list item — including a tri-state "select all" via `indeterminate`. [docs](https://ads.actioneer.dev/#/checkbox)
307
364
  - [CheckboxGroup] — component [docs](https://ads.actioneer.dev/#/checkbox)
308
365
  - [DateRangePicker] — component [docs](https://ads.actioneer.dev/#/date-range-picker)
366
+ - [Filters] — component [docs](https://ads.actioneer.dev/#/filters)
309
367
  - [Input] — Use for any single-line text value, wrapped in `Field` for label/description/error and `startContent`/`endContent` for icons or inline actions. [docs](https://ads.actioneer.dev/#/input)
310
368
  - [InputField] — component [docs](https://ads.actioneer.dev/#/input-field)
311
369
  - [NumberField] — Use for a bounded numeric quantity (e.g. seats, width, count) that benefits from stepper buttons and min/max clamping, not free-form numeric text entry. [docs](https://ads.actioneer.dev/#/number-field)
@@ -324,6 +382,9 @@ Before using any component below, preserve its built-in motion and apply the mot
324
382
  - [DateRangePickerProps] — TypeScript type
325
383
  - [DateRangeValue] — TypeScript type
326
384
  - [DropdownOptionsProps] — TypeScript type
385
+ - [FilterGroup] — TypeScript type
386
+ - [FilterOption] — TypeScript type
387
+ - [FiltersProps] — TypeScript type
327
388
  - [InputFieldProps] — TypeScript type
328
389
  - [InputProps] — TypeScript type
329
390
  - [NumberFieldProps] — TypeScript type
@@ -354,15 +415,15 @@ Before using any component below, preserve its built-in motion and apply the mot
354
415
  - [DropdownSeparator] — component [docs](https://ads.actioneer.dev/#/dropdown)
355
416
  - [DropdownTrigger] — component [docs](https://ads.actioneer.dev/#/dropdown)
356
417
  - [InlineDrawer] — component (variants: side: right|left|bottom; size: sm|md|lg|xl) [docs](https://ads.actioneer.dev/#/drawer)
357
- - [Modal] — Use for a blocking, focused task or confirmation that must interrupt the page until resolved (portaled, focus-trapped, Escape/backdrop dismissible). (variants: size: sm|md|lg|xl|full; position: center|top) [docs](https://ads.actioneer.dev/#/modal)
358
- - [ModalBody] — component (variants: size: sm|md|lg|xl|full; position: center|top) [docs](https://ads.actioneer.dev/#/modal)
359
- - [ModalClose] — component (variants: size: sm|md|lg|xl|full; position: center|top) [docs](https://ads.actioneer.dev/#/modal)
360
- - [ModalDescription] — component (variants: size: sm|md|lg|xl|full; position: center|top) [docs](https://ads.actioneer.dev/#/modal)
418
+ - [Modal] — Use for a blocking, focused task or confirmation that must interrupt the page until resolved (portaled, focus-trapped, Escape/backdrop dismissible). (variants: size: sm|md|lg|xl|full; position: center|top; height: content|fixed) [docs](https://ads.actioneer.dev/#/modal)
419
+ - [ModalBody] — component (variants: size: sm|md|lg|xl|full; position: center|top; height: content|fixed) [docs](https://ads.actioneer.dev/#/modal)
420
+ - [ModalClose] — component (variants: size: sm|md|lg|xl|full; position: center|top; height: content|fixed) [docs](https://ads.actioneer.dev/#/modal)
421
+ - [ModalDescription] — component (variants: size: sm|md|lg|xl|full; position: center|top; height: content|fixed) [docs](https://ads.actioneer.dev/#/modal)
361
422
  - [ModalDrawer] — component (variants: side: right|left|bottom; size: sm|md|lg|xl) [docs](https://ads.actioneer.dev/#/drawer)
362
- - [ModalFooter] — component (variants: size: sm|md|lg|xl|full; position: center|top) [docs](https://ads.actioneer.dev/#/modal)
363
- - [ModalHeader] — component (variants: size: sm|md|lg|xl|full; position: center|top) [docs](https://ads.actioneer.dev/#/modal)
364
- - [ModalSection] — component (variants: size: sm|md|lg|xl|full; position: center|top) [docs](https://ads.actioneer.dev/#/modal)
365
- - [ModalTitle] — component (variants: size: sm|md|lg|xl|full; position: center|top) [docs](https://ads.actioneer.dev/#/modal)
423
+ - [ModalFooter] — component (variants: size: sm|md|lg|xl|full; position: center|top; height: content|fixed) [docs](https://ads.actioneer.dev/#/modal)
424
+ - [ModalHeader] — component (variants: size: sm|md|lg|xl|full; position: center|top; height: content|fixed) [docs](https://ads.actioneer.dev/#/modal)
425
+ - [ModalSection] — component (variants: size: sm|md|lg|xl|full; position: center|top; height: content|fixed) [docs](https://ads.actioneer.dev/#/modal)
426
+ - [ModalTitle] — component (variants: size: sm|md|lg|xl|full; position: center|top; height: content|fixed) [docs](https://ads.actioneer.dev/#/modal)
366
427
  - [Popover] — Use Popover for a portaled, dismissible panel anchored to a trigger — quick settings, a profile card, or a short inline form — that closes on outside click or Escape. [docs](https://ads.actioneer.dev/#/popover)
367
428
  - [PopoverContent] — component [docs](https://ads.actioneer.dev/#/popover)
368
429
  - [PopoverTrigger] — component [docs](https://ads.actioneer.dev/#/popover)
@@ -418,7 +479,7 @@ Before using any component below, preserve its built-in motion and apply the mot
418
479
  - [CarouselItem] — component [docs](https://ads.actioneer.dev/#/carousel)
419
480
  - [CarouselNext] — component [docs](https://ads.actioneer.dev/#/carousel)
420
481
  - [CarouselPrevious] — component [docs](https://ads.actioneer.dev/#/carousel)
421
- - [Chip] — A compact pill for statuses, tags, or metadata, with an optional leading icon/avatar or a dismiss control. (variants: variant: solid|outline; color: default|primary|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/chip)
482
+ - [Chip] — A compact pill for statuses, tags, or metadata, with an optional leading icon/avatar or a dismiss control. (variants: variant: solid|outline|plain; color: default|primary|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/chip)
422
483
  - [ClarificationAnswer] — component (variants: tone: default|primary|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/ai/answer)
423
484
  - [ComboChart] — component [docs](https://ads.actioneer.dev/#/ai/chart)
424
485
  - [ComparisonAnswer] — component (variants: tone: default|primary|success|warning|danger|info) [docs](https://ads.actioneer.dev/#/ai/answer)
@@ -510,6 +571,7 @@ Before using any component below, preserve its built-in motion and apply the mot
510
571
  - [ChartAxisDomain] — TypeScript type
511
572
  - [ChartColor] — TypeScript type
512
573
  - [ChartDatum] — TypeScript type
574
+ - [ChartLegendPlacement] — TypeScript type
513
575
  - [ChartTickFormatter] — TypeScript type
514
576
  - [ChartTooltipContext] — TypeScript type
515
577
  - [ChartTooltipItem] — TypeScript type
@@ -698,6 +760,7 @@ Before using any component below, preserve its built-in motion and apply the mot
698
760
  - [SidebarNav] — component [docs](https://ads.actioneer.dev/#/sidebar)
699
761
  - [SidebarSection] — component [docs](https://ads.actioneer.dev/#/sidebar)
700
762
  - [SidebarTrigger] — component [docs](https://ads.actioneer.dev/#/sidebar)
763
+ - [SidebarWorkspace] — component [docs](https://ads.actioneer.dev/#/sidebar)
701
764
  - [BodyPageHeaderProps] — TypeScript type
702
765
  - [BreadcrumbItemProps] — TypeScript type
703
766
  - [BreadcrumbsProps] — TypeScript type
@@ -712,6 +775,7 @@ Before using any component below, preserve its built-in motion and apply the mot
712
775
  - [SidebarItemProps] — TypeScript type
713
776
  - [SidebarProps] — TypeScript type
714
777
  - [SidebarSectionProps] — TypeScript type
778
+ - [SidebarWorkspaceProps] — TypeScript type
715
779
  - [useSidebar] — React hook
716
780
 
717
781
  ### Layout