@actioneer/ads 0.1.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.
Files changed (231) hide show
  1. package/LICENSE +21 -0
  2. package/bin/ads-init.mjs +314 -0
  3. package/components/accordion.d.ts +13 -0
  4. package/components/accordion.js +91 -0
  5. package/components/agents-ui/agent-audio-visualizer-aura.d.ts +11 -0
  6. package/components/agents-ui/agent-audio-visualizer-aura.js +277 -0
  7. package/components/agents-ui/agent-audio-visualizer-wave.d.ts +12 -0
  8. package/components/agents-ui/agent-audio-visualizer-wave.js +203 -0
  9. package/components/agents-ui/react-shader-toy.d.ts +87 -0
  10. package/components/agents-ui/react-shader-toy.js +531 -0
  11. package/components/ai-elements/chain-of-thought.d.ts +30 -0
  12. package/components/ai-elements/chain-of-thought.js +182 -0
  13. package/components/ai-elements/index.d.ts +11 -0
  14. package/components/ai-elements/inline-citation.d.ts +44 -0
  15. package/components/ai-elements/inline-citation.js +314 -0
  16. package/components/ai-elements/message.d.ts +96 -0
  17. package/components/ai-elements/message.js +308 -0
  18. package/components/ai-elements/queue.d.ts +60 -0
  19. package/components/ai-elements/queue.js +193 -0
  20. package/components/ai-elements/reasoning.d.ts +26 -0
  21. package/components/ai-elements/reasoning.js +131 -0
  22. package/components/ai-elements/shimmer.d.ts +25 -0
  23. package/components/ai-elements/shimmer.js +44 -0
  24. package/components/ai-elements/speech-input.d.ts +16 -0
  25. package/components/ai-elements/speech-input.js +151 -0
  26. package/components/ai-elements/task-progress.d.ts +41 -0
  27. package/components/ai-elements/task-progress.js +211 -0
  28. package/components/ai-elements/task.d.ts +35 -0
  29. package/components/ai-elements/task.js +73 -0
  30. package/components/ai-elements/tool.d.ts +53 -0
  31. package/components/ai-elements/tool.js +116 -0
  32. package/components/ai-elements/voice.d.ts +74 -0
  33. package/components/ai-elements/voice.js +875 -0
  34. package/components/alert.d.ts +21 -0
  35. package/components/alert.js +76 -0
  36. package/components/answer.d.ts +984 -0
  37. package/components/answer.js +543 -0
  38. package/components/assistant-ui/action-bar.d.ts +3 -0
  39. package/components/assistant-ui/action-bar.js +57 -0
  40. package/components/assistant-ui/answer-tool-ui.d.ts +5 -0
  41. package/components/assistant-ui/answer-tool-ui.js +42 -0
  42. package/components/assistant-ui/attachment.d.ts +50 -0
  43. package/components/assistant-ui/attachment.js +353 -0
  44. package/components/assistant-ui/badge.d.ts +11 -0
  45. package/components/assistant-ui/badge.js +54 -0
  46. package/components/assistant-ui/branch-picker.d.ts +3 -0
  47. package/components/assistant-ui/branch-picker.js +36 -0
  48. package/components/assistant-ui/chain-of-thought.d.ts +46 -0
  49. package/components/assistant-ui/composer-add-context.d.ts +50 -0
  50. package/components/assistant-ui/composer-add-context.js +209 -0
  51. package/components/assistant-ui/composer-deep-research.d.ts +16 -0
  52. package/components/assistant-ui/composer-deep-research.js +38 -0
  53. package/components/assistant-ui/composer-harness.d.ts +18 -0
  54. package/components/assistant-ui/composer-harness.js +186 -0
  55. package/components/assistant-ui/composer-trigger-popover.d.ts +47 -0
  56. package/components/assistant-ui/composer-trigger-popover.js +147 -0
  57. package/components/assistant-ui/composer.d.ts +8 -0
  58. package/components/assistant-ui/composer.js +276 -0
  59. package/components/assistant-ui/directive-text.d.ts +16 -0
  60. package/components/assistant-ui/directive-text.js +40 -0
  61. package/components/assistant-ui/error.d.ts +6 -0
  62. package/components/assistant-ui/error.js +39 -0
  63. package/components/assistant-ui/file.d.ts +37 -0
  64. package/components/assistant-ui/file.js +159 -0
  65. package/components/assistant-ui/follow-up-suggestions.d.ts +7 -0
  66. package/components/assistant-ui/follow-up-suggestions.js +44 -0
  67. package/components/assistant-ui/image.d.ts +46 -0
  68. package/components/assistant-ui/image.js +351 -0
  69. package/components/assistant-ui/index.d.ts +28 -0
  70. package/components/assistant-ui/markdown-text.d.ts +1 -0
  71. package/components/assistant-ui/markdown-text.js +242 -0
  72. package/components/assistant-ui/message-timing.d.ts +25 -0
  73. package/components/assistant-ui/message-timing.js +56 -0
  74. package/components/assistant-ui/message.d.ts +4 -0
  75. package/components/assistant-ui/message.js +159 -0
  76. package/components/assistant-ui/primitives.d.ts +2 -0
  77. package/components/assistant-ui/quote.d.ts +37 -0
  78. package/components/assistant-ui/quote.js +150 -0
  79. package/components/assistant-ui/reasoning.d.ts +44 -0
  80. package/components/assistant-ui/reasoning.js +261 -0
  81. package/components/assistant-ui/selection-toolbar.d.ts +29 -0
  82. package/components/assistant-ui/selection-toolbar.js +91 -0
  83. package/components/assistant-ui/smart-message-text.d.ts +15 -0
  84. package/components/assistant-ui/smart-message-text.js +29 -0
  85. package/components/assistant-ui/sources.d.ts +17 -0
  86. package/components/assistant-ui/sources.js +121 -0
  87. package/components/assistant-ui/suggestions.d.ts +7 -0
  88. package/components/assistant-ui/suggestions.js +19 -0
  89. package/components/assistant-ui/thread-context.d.ts +37 -0
  90. package/components/assistant-ui/thread-context.js +8 -0
  91. package/components/assistant-ui/thread.d.ts +5 -0
  92. package/components/assistant-ui/thread.js +77 -0
  93. package/components/assistant-ui/tool-fallback.d.ts +36 -0
  94. package/components/assistant-ui/tool-fallback.js +428 -0
  95. package/components/assistant-ui/tool-group.d.ts +33 -0
  96. package/components/assistant-ui/tool-group.js +173 -0
  97. package/components/assistant-ui/tooltip-icon-button.d.ts +7 -0
  98. package/components/assistant-ui/tooltip-icon-button.js +31 -0
  99. package/components/assistant-ui/voice.d.ts +18 -0
  100. package/components/autocomplete.d.ts +18 -0
  101. package/components/autocomplete.js +162 -0
  102. package/components/avatar.d.ts +26 -0
  103. package/components/avatar.js +92 -0
  104. package/components/badge.d.ts +10 -0
  105. package/components/badge.js +83 -0
  106. package/components/brand-loader.d.ts +16 -0
  107. package/components/brand-loader.js +64 -0
  108. package/components/breadcrumbs.d.ts +8 -0
  109. package/components/breadcrumbs.js +58 -0
  110. package/components/button.d.ts +13 -0
  111. package/components/button.js +100 -0
  112. package/components/card.d.ts +19 -0
  113. package/components/card.js +82 -0
  114. package/components/carousel.d.ts +31 -0
  115. package/components/carousel.js +351 -0
  116. package/components/chart.d.ts +165 -0
  117. package/components/chart.js +841 -0
  118. package/components/checkbox.d.ts +13 -0
  119. package/components/checkbox.js +84 -0
  120. package/components/chip.d.ts +13 -0
  121. package/components/chip.js +112 -0
  122. package/components/collapsible.d.ts +5 -0
  123. package/components/collapsible.js +31 -0
  124. package/components/connector-card.d.ts +62 -0
  125. package/components/connector-card.js +154 -0
  126. package/components/divider.d.ts +23 -0
  127. package/components/divider.js +69 -0
  128. package/components/drawer.d.ts +45 -0
  129. package/components/drawer.js +234 -0
  130. package/components/dropdown.d.ts +33 -0
  131. package/components/dropdown.js +198 -0
  132. package/components/empty-state.d.ts +8 -0
  133. package/components/empty-state.js +30 -0
  134. package/components/field.d.ts +20 -0
  135. package/components/field.js +74 -0
  136. package/components/index.d.ts +56 -0
  137. package/components/index.js +444 -0
  138. package/components/input-field.d.ts +22 -0
  139. package/components/input-field.js +91 -0
  140. package/components/input.d.ts +8 -0
  141. package/components/input.js +61 -0
  142. package/components/kbd.d.ts +6 -0
  143. package/components/kbd.js +26 -0
  144. package/components/link.d.ts +14 -0
  145. package/components/link.js +72 -0
  146. package/components/modal.d.ts +18 -0
  147. package/components/modal.js +156 -0
  148. package/components/navbar.d.ts +15 -0
  149. package/components/navbar.js +68 -0
  150. package/components/number-field.d.ts +11 -0
  151. package/components/number-field.js +89 -0
  152. package/components/pagination.d.ts +28 -0
  153. package/components/pagination.js +179 -0
  154. package/components/panel.d.ts +14 -0
  155. package/components/panel.js +71 -0
  156. package/components/pixel-blast-svg.d.ts +22 -0
  157. package/components/pixel-blast-svg.js +154 -0
  158. package/components/popover.d.ts +20 -0
  159. package/components/popover.js +101 -0
  160. package/components/progress-circle.d.ts +11 -0
  161. package/components/progress-circle.js +75 -0
  162. package/components/progress.d.ts +22 -0
  163. package/components/progress.js +66 -0
  164. package/components/radio.d.ts +16 -0
  165. package/components/radio.js +101 -0
  166. package/components/segmented.d.ts +16 -0
  167. package/components/segmented.js +103 -0
  168. package/components/select.d.ts +28 -0
  169. package/components/select.js +180 -0
  170. package/components/selection-action-bar.d.ts +11 -0
  171. package/components/selection-action-bar.js +59 -0
  172. package/components/sidebar.d.ts +118 -0
  173. package/components/sidebar.js +375 -0
  174. package/components/skeleton.d.ts +6 -0
  175. package/components/skeleton.js +26 -0
  176. package/components/slider.d.ts +11 -0
  177. package/components/slider.js +62 -0
  178. package/components/spinner.d.ts +11 -0
  179. package/components/spinner.js +62 -0
  180. package/components/switch.d.ts +7 -0
  181. package/components/switch.js +61 -0
  182. package/components/table.d.ts +59 -0
  183. package/components/table.js +254 -0
  184. package/components/tabs.d.ts +29 -0
  185. package/components/tabs.js +371 -0
  186. package/components/textarea.d.ts +5 -0
  187. package/components/textarea.js +24 -0
  188. package/components/timeline.d.ts +7 -0
  189. package/components/timeline.js +47 -0
  190. package/components/toast.d.ts +74 -0
  191. package/components/toast.js +211 -0
  192. package/components/tooltip.d.ts +11 -0
  193. package/components/tooltip.js +143 -0
  194. package/components/tree.d.ts +42 -0
  195. package/components/tree.js +86 -0
  196. package/components/typography.d.ts +33 -0
  197. package/components/typography.js +65 -0
  198. package/components/ui/avatar.d.ts +11 -0
  199. package/components/ui/avatar.js +56 -0
  200. package/components/ui/button.d.ts +10 -0
  201. package/components/ui/button.js +57 -0
  202. package/components/ui/collapsible.d.ts +5 -0
  203. package/components/ui/collapsible.js +35 -0
  204. package/components/ui/dialog.d.ts +17 -0
  205. package/components/ui/dialog.js +93 -0
  206. package/components/ui/tabs.d.ts +22 -0
  207. package/components/ui/tooltip.d.ts +7 -0
  208. package/components/ui/tooltip.js +56 -0
  209. package/fonts/aribau-grotesk-400.otf +0 -0
  210. package/fonts/aribau-grotesk-700.otf +0 -0
  211. package/fonts.css +21 -0
  212. package/hooks/agents-ui/use-agent-audio-visualizer-aura.d.ts +8 -0
  213. package/hooks/agents-ui/use-agent-audio-visualizer-aura.js +62 -0
  214. package/hooks/agents-ui/use-agent-audio-visualizer-wave.d.ts +7 -0
  215. package/hooks/agents-ui/use-agent-audio-visualizer-wave.js +60 -0
  216. package/hooks/agents-ui/voice-visualizer-types.d.ts +9 -0
  217. package/lib/cn.d.ts +3 -0
  218. package/lib/cn.js +9 -0
  219. package/lib/icons.d.ts +378 -0
  220. package/lib/icons.js +119 -0
  221. package/lib/interactive.d.ts +24 -0
  222. package/lib/interactive.js +36 -0
  223. package/lib/motion.d.ts +58 -0
  224. package/lib/motion.js +70 -0
  225. package/lib/router.d.ts +3 -0
  226. package/lib/utils.d.ts +6 -0
  227. package/llms.txt +537 -0
  228. package/manifest.json +5085 -0
  229. package/package.json +60 -0
  230. package/styles.css +653 -0
  231. package/theme.css +273 -0
@@ -0,0 +1,57 @@
1
+ "use client";
2
+ import { jsx as s } from "react/jsx-runtime";
3
+ import { cva as a } from "class-variance-authority";
4
+ import { Slot as d } from "radix-ui";
5
+ import { cn as c } from "../../lib/cn.js";
6
+ const u = a(
7
+ "inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-xs font-medium whitespace-nowrap transition-[background-color,border-color,color,box-shadow,transform] duration-(--duration-fast) ease-out outline-none motion-reduce:transition-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
8
+ {
9
+ variants: {
10
+ variant: {
11
+ default: "bg-primary text-primary-foreground hover:bg-primary/90",
12
+ destructive: "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",
13
+ outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",
14
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
15
+ ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
16
+ link: "text-primary underline-offset-4 hover:underline"
17
+ },
18
+ size: {
19
+ default: "h-9 px-4 py-2 has-[>svg]:px-3",
20
+ xs: "h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",
21
+ sm: "h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",
22
+ lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
23
+ icon: "size-9",
24
+ "icon-xs": "size-6 rounded-md [&_svg:not([class*='size-'])]:size-3",
25
+ "icon-sm": "size-8",
26
+ "icon-lg": "size-10"
27
+ }
28
+ },
29
+ defaultVariants: {
30
+ variant: "default",
31
+ size: "default"
32
+ }
33
+ }
34
+ );
35
+ function p({
36
+ className: t,
37
+ variant: e = "default",
38
+ size: r = "default",
39
+ asChild: o = !1,
40
+ ...i
41
+ }) {
42
+ const n = o ? d.Root : "button";
43
+ return /* @__PURE__ */ s(
44
+ n,
45
+ {
46
+ "data-slot": "button",
47
+ "data-variant": e,
48
+ "data-size": r,
49
+ className: c(u({ variant: e, size: r, className: t })),
50
+ ...i
51
+ }
52
+ );
53
+ }
54
+ export {
55
+ p as Button,
56
+ u as buttonVariants
57
+ };
@@ -0,0 +1,5 @@
1
+ import { Collapsible as CollapsiblePrimitive } from 'radix-ui';
2
+ declare function Collapsible({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.Root>): import("react").JSX.Element;
3
+ declare function CollapsibleTrigger({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>): import("react").JSX.Element;
4
+ declare function CollapsibleContent({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>): import("react").JSX.Element;
5
+ export { Collapsible, CollapsibleTrigger, CollapsibleContent };
@@ -0,0 +1,35 @@
1
+ "use client";
2
+ import { jsx as o } from "react/jsx-runtime";
3
+ import { Collapsible as t } from "radix-ui";
4
+ function a({
5
+ ...l
6
+ }) {
7
+ return /* @__PURE__ */ o(t.Root, { "data-slot": "collapsible", ...l });
8
+ }
9
+ function r({
10
+ ...l
11
+ }) {
12
+ return /* @__PURE__ */ o(
13
+ t.CollapsibleTrigger,
14
+ {
15
+ "data-slot": "collapsible-trigger",
16
+ ...l
17
+ }
18
+ );
19
+ }
20
+ function n({
21
+ ...l
22
+ }) {
23
+ return /* @__PURE__ */ o(
24
+ t.CollapsibleContent,
25
+ {
26
+ "data-slot": "collapsible-content",
27
+ ...l
28
+ }
29
+ );
30
+ }
31
+ export {
32
+ a as Collapsible,
33
+ n as CollapsibleContent,
34
+ r as CollapsibleTrigger
35
+ };
@@ -0,0 +1,17 @@
1
+ import { Dialog as DialogPrimitive } from 'radix-ui';
2
+ import * as React from "react";
3
+ declare function Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>): React.JSX.Element;
4
+ declare function DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>): React.JSX.Element;
5
+ declare function DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>): React.JSX.Element;
6
+ declare function DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>): React.JSX.Element;
7
+ declare function DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>): React.JSX.Element;
8
+ declare function DialogContent({ className, children, showCloseButton, ...props }: React.ComponentProps<typeof DialogPrimitive.Content> & {
9
+ showCloseButton?: boolean;
10
+ }): React.JSX.Element;
11
+ declare function DialogHeader({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
12
+ declare function DialogFooter({ className, showCloseButton, children, ...props }: React.ComponentProps<"div"> & {
13
+ showCloseButton?: boolean;
14
+ }): React.JSX.Element;
15
+ declare function DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>): React.JSX.Element;
16
+ declare function DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>): React.JSX.Element;
17
+ export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, };
@@ -0,0 +1,93 @@
1
+ "use client";
2
+ import { jsx as a, jsxs as n } from "react/jsx-runtime";
3
+ import { Close as r } from "../../lib/icons.js";
4
+ import { Dialog as o } from "radix-ui";
5
+ import { cn as i } from "../../lib/cn.js";
6
+ import "./button.js";
7
+ function x({
8
+ ...t
9
+ }) {
10
+ return /* @__PURE__ */ a(o.Root, { "data-slot": "dialog", ...t });
11
+ }
12
+ function b({
13
+ ...t
14
+ }) {
15
+ return /* @__PURE__ */ a(o.Trigger, { "data-slot": "dialog-trigger", ...t });
16
+ }
17
+ function d({
18
+ ...t
19
+ }) {
20
+ return /* @__PURE__ */ a(o.Portal, { "data-slot": "dialog-portal", ...t });
21
+ }
22
+ function g({
23
+ className: t,
24
+ ...e
25
+ }) {
26
+ return /* @__PURE__ */ a(
27
+ o.Overlay,
28
+ {
29
+ "data-slot": "dialog-overlay",
30
+ className: i(
31
+ "fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",
32
+ t
33
+ ),
34
+ ...e
35
+ }
36
+ );
37
+ }
38
+ function h({
39
+ className: t,
40
+ children: e,
41
+ showCloseButton: l = !0,
42
+ ...s
43
+ }) {
44
+ return /* @__PURE__ */ n(d, { "data-slot": "dialog-portal", children: [
45
+ /* @__PURE__ */ a(g, {}),
46
+ /* @__PURE__ */ n(
47
+ o.Content,
48
+ {
49
+ "data-slot": "dialog-content",
50
+ className: i(
51
+ "fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-(--duration-normal) outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg",
52
+ t
53
+ ),
54
+ ...s,
55
+ children: [
56
+ e,
57
+ l && /* @__PURE__ */ n(
58
+ o.Close,
59
+ {
60
+ "data-slot": "dialog-close",
61
+ className: "absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
62
+ children: [
63
+ /* @__PURE__ */ a(r, {}),
64
+ /* @__PURE__ */ a("span", { className: "sr-only", children: "Close" })
65
+ ]
66
+ }
67
+ )
68
+ ]
69
+ }
70
+ )
71
+ ] });
72
+ }
73
+ function v({
74
+ className: t,
75
+ ...e
76
+ }) {
77
+ return /* @__PURE__ */ a(
78
+ o.Title,
79
+ {
80
+ "data-slot": "dialog-title",
81
+ className: i("text-lg leading-none font-semibold", t),
82
+ ...e
83
+ }
84
+ );
85
+ }
86
+ export {
87
+ x as Dialog,
88
+ h as DialogContent,
89
+ g as DialogOverlay,
90
+ d as DialogPortal,
91
+ v as DialogTitle,
92
+ b as DialogTrigger
93
+ };
@@ -0,0 +1,22 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import { Tabs as TabsPrimitive } from 'radix-ui';
3
+ import * as React from "react";
4
+ declare function Tabs({ className, orientation, ...props }: React.ComponentProps<typeof TabsPrimitive.Root>): React.JSX.Element;
5
+ declare const tabsListVariants: (props?: ({
6
+ variant?: "default" | "line" | null | undefined;
7
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
8
+ /**
9
+ * Sliding-pill tabs — the white "active" background is one absolutely
10
+ * positioned motion.div inside the list, animated to the active trigger's
11
+ * position via a MutationObserver on `data-state`. Beats plain CSS which
12
+ * would jump-cut from one trigger to the next.
13
+ *
14
+ * Local modification vs the shadcn registry: added the pill + `relative`
15
+ * on the list, wrapped Trigger children in a z-10 span, and removed the
16
+ * direct `data-[state=active]:bg-background` fill from triggers (the pill
17
+ * now owns that paint). Re-apply on registry upgrade.
18
+ */
19
+ declare function TabsList({ className, variant, children, ...props }: React.ComponentProps<typeof TabsPrimitive.List> & VariantProps<typeof tabsListVariants>): React.JSX.Element;
20
+ declare function TabsTrigger({ className, children, ...props }: React.ComponentProps<typeof TabsPrimitive.Trigger>): React.JSX.Element;
21
+ declare function TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Content>): React.JSX.Element;
22
+ export { Tabs, TabsList, TabsTrigger, TabsContent, tabsListVariants };
@@ -0,0 +1,7 @@
1
+ import { Tooltip as TooltipPrimitive } from 'radix-ui';
2
+ import * as React from "react";
3
+ declare function TooltipProvider({ delayDuration, ...props }: React.ComponentProps<typeof TooltipPrimitive.Provider>): React.JSX.Element;
4
+ declare function Tooltip({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Root>): React.JSX.Element;
5
+ declare function TooltipTrigger({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger>): React.JSX.Element;
6
+ declare function TooltipContent({ className, sideOffset, children, ...props }: React.ComponentProps<typeof TooltipPrimitive.Content>): React.JSX.Element;
7
+ export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };
@@ -0,0 +1,56 @@
1
+ "use client";
2
+ import { jsx as i, jsxs as n } from "react/jsx-runtime";
3
+ import { Tooltip as o } from "radix-ui";
4
+ import { cn as d } from "../../lib/cn.js";
5
+ function f({
6
+ delayDuration: t = 0,
7
+ ...r
8
+ }) {
9
+ return /* @__PURE__ */ i(
10
+ o.Provider,
11
+ {
12
+ "data-slot": "tooltip-provider",
13
+ delayDuration: t,
14
+ ...r
15
+ }
16
+ );
17
+ }
18
+ function m({
19
+ ...t
20
+ }) {
21
+ return /* @__PURE__ */ i(o.Root, { "data-slot": "tooltip", ...t });
22
+ }
23
+ function c({
24
+ ...t
25
+ }) {
26
+ return /* @__PURE__ */ i(o.Trigger, { "data-slot": "tooltip-trigger", ...t });
27
+ }
28
+ function u({
29
+ className: t,
30
+ sideOffset: r = 0,
31
+ children: e,
32
+ ...a
33
+ }) {
34
+ return /* @__PURE__ */ i(o.Portal, { children: /* @__PURE__ */ n(
35
+ o.Content,
36
+ {
37
+ "data-slot": "tooltip-content",
38
+ sideOffset: r,
39
+ className: d(
40
+ "z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in rounded-md bg-foreground px-3 py-1.5 text-xs text-balance text-background fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
41
+ t
42
+ ),
43
+ ...a,
44
+ children: [
45
+ e,
46
+ /* @__PURE__ */ i(o.Arrow, { className: "z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground" })
47
+ ]
48
+ }
49
+ ) });
50
+ }
51
+ export {
52
+ m as Tooltip,
53
+ u as TooltipContent,
54
+ f as TooltipProvider,
55
+ c as TooltipTrigger
56
+ };
Binary file
Binary file
package/fonts.css ADDED
@@ -0,0 +1,21 @@
1
+ /* @actioneer/ads — generated by scripts/build-lib-styles.mjs. Do not edit. */
2
+ /* Aribau Grotesk — ADS 1.0 brand typeface.
3
+ Two weights only: Regular (400) and Bold (700).
4
+ The weight RANGES fold Tailwind's intermediate utilities onto these two
5
+ physical files: `font-normal`/`font-medium` → Regular, `font-semibold`/`font-bold` → Bold.
6
+ `font-synthesis-weight: none` (set in index.css) prevents faux weights. */
7
+ @font-face {
8
+ font-family: "Aribau Grotesk";
9
+ src: url("./fonts/aribau-grotesk-400.otf") format("opentype");
10
+ font-weight: 100 500;
11
+ font-style: normal;
12
+ font-display: swap;
13
+ }
14
+ @font-face {
15
+ font-family: "Aribau Grotesk";
16
+ src: url("./fonts/aribau-grotesk-700.otf") format("opentype");
17
+ font-weight: 600 900;
18
+ font-style: normal;
19
+ font-display: swap;
20
+ }
21
+
@@ -0,0 +1,8 @@
1
+ import { VoiceVisualizerDriver } from './voice-visualizer-types';
2
+ export declare function useAgentAudioVisualizerAura({ state, volume, reduced, }: VoiceVisualizerDriver): {
3
+ speed: number;
4
+ scale: number;
5
+ amplitude: number;
6
+ frequency: number;
7
+ brightness: number;
8
+ };
@@ -0,0 +1,62 @@
1
+ "use client";
2
+ import * as o from "react";
3
+ import { useMotionValue as m, useMotionValueEvent as p, animate as f } from "motion/react";
4
+ import { EASE_OUT as g } from "../../lib/motion.js";
5
+ const h = {
6
+ idle: { speed: 8, scale: 0.2, amplitude: 1.2, frequency: 0.4, brightness: 1 },
7
+ connecting: { speed: 30, scale: 0.3, amplitude: 0.5, frequency: 1, brightness: 2 },
8
+ listening: { speed: 20, scale: 0.3, amplitude: 1, frequency: 0.7, brightness: 1.7 },
9
+ thinking: { speed: 30, scale: 0.3, amplitude: 0.5, frequency: 1, brightness: 2 },
10
+ speaking: { speed: 70, scale: 0.3, amplitude: 0.75, frequency: 1.25, brightness: 1.5 },
11
+ muted: { speed: 0, scale: 0.2, amplitude: 0.4, frequency: 0.4, brightness: 0.5 },
12
+ asleep: { speed: 0, scale: 0.18, amplitude: 0.35, frequency: 0.3, brightness: 0.35 }
13
+ };
14
+ function d(n) {
15
+ return Math.min(1, Math.max(0, n));
16
+ }
17
+ function c(n) {
18
+ const [r, t] = o.useState(n), e = m(n), a = o.useRef(null);
19
+ p(e, "change", t);
20
+ const u = o.useCallback(
21
+ (s, l) => {
22
+ var i;
23
+ (i = a.current) == null || i.stop(), a.current = f(e, s, {
24
+ duration: l ? 0 : 0.2,
25
+ ease: g
26
+ });
27
+ },
28
+ [e]
29
+ );
30
+ return o.useEffect(() => () => {
31
+ var s;
32
+ return (s = a.current) == null ? void 0 : s.stop();
33
+ }, []), { value: r, animateTo: u };
34
+ }
35
+ function y({
36
+ state: n = "idle",
37
+ volume: r = 0,
38
+ reduced: t = !1
39
+ }) {
40
+ const e = h[n], a = c(e.scale), u = c(e.amplitude), s = c(e.frequency), l = c(e.brightness);
41
+ o.useEffect(() => {
42
+ a.animateTo(e.scale, t), u.animateTo(e.amplitude, t), s.animateTo(e.frequency, t), l.animateTo(e.brightness, t);
43
+ }, [
44
+ e,
45
+ t,
46
+ a.animateTo,
47
+ u.animateTo,
48
+ s.animateTo,
49
+ l.animateTo
50
+ ]);
51
+ const i = !t && (n === "listening" || n === "speaking") ? d(r) : 0;
52
+ return {
53
+ speed: t ? 0 : e.speed,
54
+ scale: a.value + i * 0.18,
55
+ amplitude: u.value + i * 0.35,
56
+ frequency: s.value,
57
+ brightness: l.value + i * 0.4
58
+ };
59
+ }
60
+ export {
61
+ y as useAgentAudioVisualizerAura
62
+ };
@@ -0,0 +1,7 @@
1
+ import { VoiceVisualizerDriver } from './voice-visualizer-types';
2
+ export declare function useAgentAudioVisualizerWave({ state, volume, reduced, }: VoiceVisualizerDriver): {
3
+ speed: number;
4
+ amplitude: number;
5
+ frequency: number;
6
+ opacity: number;
7
+ };
@@ -0,0 +1,60 @@
1
+ "use client";
2
+ import * as c from "react";
3
+ import { useMotionValue as l, useMotionValueEvent as r, animate as f } from "motion/react";
4
+ import { EASE_OUT as y } from "../../lib/motion.js";
5
+ const d = {
6
+ idle: { speed: 2, amplitude: 6e-3, frequency: 8, opacity: 0.35 },
7
+ connecting: { speed: 20, amplitude: 6e-3, frequency: 40, opacity: 0.7 },
8
+ listening: { speed: 5, amplitude: 0.025, frequency: 10, opacity: 0.65 },
9
+ thinking: { speed: 20, amplitude: 6e-3, frequency: 40, opacity: 0.8 },
10
+ speaking: { speed: 10, amplitude: 0.025, frequency: 20, opacity: 1 },
11
+ muted: { speed: 0, amplitude: 0, frequency: 0, opacity: 0.25 },
12
+ asleep: { speed: 0, amplitude: 0, frequency: 0, opacity: 0.18 }
13
+ };
14
+ function q(t) {
15
+ return Math.min(1, Math.max(0, t));
16
+ }
17
+ function s(t) {
18
+ const [p, a] = c.useState(t), e = l(t), i = c.useRef(null);
19
+ r(e, "change", a);
20
+ const o = c.useCallback(
21
+ (n, u) => {
22
+ var m;
23
+ (m = i.current) == null || m.stop(), i.current = f(e, n, {
24
+ duration: u ? 0 : 0.2,
25
+ ease: y
26
+ });
27
+ },
28
+ [e]
29
+ );
30
+ return c.useEffect(() => () => {
31
+ var n;
32
+ return (n = i.current) == null ? void 0 : n.stop();
33
+ }, []), { value: p, animateTo: o };
34
+ }
35
+ function E({
36
+ state: t = "idle",
37
+ volume: p = 0,
38
+ reduced: a = !1
39
+ }) {
40
+ const e = d[t], i = s(e.amplitude), o = s(e.frequency), n = s(e.opacity);
41
+ c.useEffect(() => {
42
+ i.animateTo(e.amplitude, a), o.animateTo(e.frequency, a), n.animateTo(e.opacity, a);
43
+ }, [
44
+ e,
45
+ a,
46
+ i.animateTo,
47
+ o.animateTo,
48
+ n.animateTo
49
+ ]);
50
+ const u = !a && (t === "listening" || t === "speaking") ? q(p) : 0;
51
+ return {
52
+ speed: a ? 0 : e.speed,
53
+ amplitude: i.value + u * 0.22,
54
+ frequency: o.value + u * 60,
55
+ opacity: Math.min(1, n.value + u * 0.35)
56
+ };
57
+ }
58
+ export {
59
+ E as useAgentAudioVisualizerWave
60
+ };
@@ -0,0 +1,9 @@
1
+ export type VoiceVisualizerState = "idle" | "connecting" | "listening" | "thinking" | "speaking" | "muted" | "asleep";
2
+ export type VoiceVisualizerColor = [number, number, number];
3
+ export interface VoiceVisualizerDriver {
4
+ state?: VoiceVisualizerState;
5
+ /** Normalized audio energy from 0 to 1. */
6
+ volume?: number;
7
+ /** Freezes time-based and volume-reactive movement. */
8
+ reduced?: boolean;
9
+ }
package/lib/cn.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import { ClassValue } from 'clsx';
2
+ /** Merge Tailwind classes with conflict resolution. */
3
+ export declare function cn(...inputs: ClassValue[]): string;
package/lib/cn.js ADDED
@@ -0,0 +1,9 @@
1
+ "use client";
2
+ import { clsx as t } from "clsx";
3
+ import { twMerge as e } from "tailwind-merge";
4
+ function c(...r) {
5
+ return e(t(r));
6
+ }
7
+ export {
8
+ c as cn
9
+ };