@actioneer/ads 0.5.7 → 0.5.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 (147) hide show
  1. package/bin/ads-init.mjs +6 -0
  2. package/components/accordion.js +50 -48
  3. package/components/agent-icon.d.ts +12 -0
  4. package/components/agent-icon.js +133 -120
  5. package/components/ai-elements/chain-of-thought.d.ts +1 -1
  6. package/components/ai-elements/chain-of-thought.js +108 -108
  7. package/components/ai-elements/chart.js +16 -14
  8. package/components/ai-elements/inline-citation.js +41 -41
  9. package/components/ai-elements/message.js +4 -4
  10. package/components/ai-elements/queue.js +7 -7
  11. package/components/ai-elements/research-activity.js +114 -114
  12. package/components/ai-elements/shimmer.d.ts +2 -2
  13. package/components/ai-elements/speech-input.js +28 -28
  14. package/components/ai-elements/task-progress.js +26 -16
  15. package/components/ai-elements/task.js +17 -17
  16. package/components/ai-elements/tool.js +6 -6
  17. package/components/ai-elements/transcript.js +6 -5
  18. package/components/ai-elements/voice.js +1 -1
  19. package/components/alert.js +10 -10
  20. package/components/answer-sources.js +1 -1
  21. package/components/answer.js +115 -114
  22. package/components/assistant-ui/action-bar.js +94 -48
  23. package/components/assistant-ui/attachment.js +103 -75
  24. package/components/assistant-ui/badge.d.ts +1 -1
  25. package/components/assistant-ui/badge.js +17 -17
  26. package/components/assistant-ui/chain-of-thought.d.ts +1 -1
  27. package/components/assistant-ui/composer-add-context.js +9 -9
  28. package/components/assistant-ui/composer-deep-research.js +5 -5
  29. package/components/assistant-ui/composer-harness.js +11 -9
  30. package/components/assistant-ui/composer-trigger-popover.js +45 -34
  31. package/components/assistant-ui/composer.js +59 -59
  32. package/components/assistant-ui/error.js +14 -14
  33. package/components/assistant-ui/file.d.ts +1 -1
  34. package/components/assistant-ui/image.d.ts +1 -1
  35. package/components/assistant-ui/image.js +113 -103
  36. package/components/assistant-ui/markdown-text.js +18 -18
  37. package/components/assistant-ui/message.js +46 -45
  38. package/components/assistant-ui/quote.js +1 -1
  39. package/components/assistant-ui/reasoning.d.ts +1 -1
  40. package/components/assistant-ui/reasoning.js +66 -77
  41. package/components/assistant-ui/suggestions.js +4 -4
  42. package/components/assistant-ui/thread.js +22 -22
  43. package/components/assistant-ui/tool-fallback.js +60 -63
  44. package/components/assistant-ui/tool-group.d.ts +1 -1
  45. package/components/assistant-ui/tool-group.js +36 -42
  46. package/components/audio-waveform.js +25 -24
  47. package/components/autocomplete.d.ts +1 -0
  48. package/components/autocomplete.js +45 -43
  49. package/components/avatar.d.ts +1 -0
  50. package/components/avatar.js +27 -26
  51. package/components/badge.d.ts +1 -1
  52. package/components/breadcrumbs.d.ts +2 -0
  53. package/components/breadcrumbs.js +52 -50
  54. package/components/button.d.ts +2 -2
  55. package/components/button.js +22 -20
  56. package/components/card.js +8 -8
  57. package/components/carousel.js +105 -104
  58. package/components/chart.d.ts +6 -0
  59. package/components/chart.js +743 -672
  60. package/components/checkbox.js +74 -38
  61. package/components/chip.d.ts +1 -1
  62. package/components/code-block.js +3 -3
  63. package/components/collapsible.js +67 -23
  64. package/components/connector-card.js +6 -6
  65. package/components/drawer.d.ts +18 -11
  66. package/components/drawer.js +81 -78
  67. package/components/dropdown.d.ts +2 -0
  68. package/components/dropdown.js +88 -79
  69. package/components/empty-state.d.ts +1 -1
  70. package/components/empty-state.js +7 -7
  71. package/components/field.d.ts +4 -0
  72. package/components/field.js +45 -34
  73. package/components/file-dropzone.js +12 -12
  74. package/components/index.d.ts +3 -0
  75. package/components/index.js +584 -558
  76. package/components/input-field.js +51 -46
  77. package/components/input.js +20 -20
  78. package/components/link.js +9 -9
  79. package/components/modal.d.ts +5 -1
  80. package/components/modal.js +121 -76
  81. package/components/navbar.d.ts +1 -1
  82. package/components/navbar.js +1 -1
  83. package/components/number-field.js +38 -29
  84. package/components/page-header.js +12 -12
  85. package/components/pagination.js +19 -19
  86. package/components/panel.js +2 -2
  87. package/components/pixel-blast-svg.js +3 -3
  88. package/components/pixel-icon.d.ts +4 -0
  89. package/components/pixel-icon.js +210 -164
  90. package/components/popover.d.ts +1 -1
  91. package/components/popover.js +66 -64
  92. package/components/progress-circle.js +36 -32
  93. package/components/progress.js +28 -24
  94. package/components/radio.js +59 -49
  95. package/components/resizable-panel.js +1 -1
  96. package/components/reveal.d.ts +2 -2
  97. package/components/ripple.d.ts +3 -3
  98. package/components/scroll-area.js +17 -16
  99. package/components/segmented.d.ts +1 -0
  100. package/components/segmented.js +39 -36
  101. package/components/select.d.ts +7 -0
  102. package/components/select.js +186 -137
  103. package/components/setting-row.js +45 -42
  104. package/components/sidebar.js +131 -127
  105. package/components/skeleton.js +5 -5
  106. package/components/spinner.d.ts +13 -4
  107. package/components/spinner.js +42 -42
  108. package/components/stepper.js +21 -21
  109. package/components/switch.js +41 -39
  110. package/components/table.d.ts +16 -0
  111. package/components/table.js +393 -260
  112. package/components/tabs.js +149 -137
  113. package/components/toast.js +66 -66
  114. package/components/tooltip.js +2 -2
  115. package/components/tree.js +62 -51
  116. package/components/typography.d.ts +2 -1
  117. package/components/typography.js +33 -32
  118. package/components/ui/button.d.ts +2 -2
  119. package/components/ui/button.js +19 -19
  120. package/components/ui/collapsible.d.ts +1 -5
  121. package/components/ui/dialog.d.ts +3 -3
  122. package/components/ui/dialog.js +95 -58
  123. package/components/ui/tooltip.d.ts +2 -2
  124. package/components/ui/tooltip.js +67 -33
  125. package/components/viz-charts.js +95 -95
  126. package/demo/components/add-to-artifact.js +363 -0
  127. package/demo/lib/artifact-library.js +142 -0
  128. package/demo/lib/artifact-pin-guard.js +12 -0
  129. package/fonts/aribau-grotesk-medium.woff2 +0 -0
  130. package/fonts/aribau-grotesk-regular.woff2 +0 -0
  131. package/fonts.css +11 -11
  132. package/hooks/agents-ui/use-agent-audio-visualizer-aura.js +17 -16
  133. package/hooks/agents-ui/use-agent-audio-visualizer-wave.js +21 -20
  134. package/lib/icons.d.ts +24 -0
  135. package/lib/icons.js +114 -108
  136. package/lib/motion.d.ts +42 -39
  137. package/lib/motion.js +112 -52
  138. package/lib/spinner-mark.d.ts +9 -0
  139. package/lib/spinner-mark.js +98 -0
  140. package/llms.txt +53 -19
  141. package/manifest.json +258 -36
  142. package/package.json +1 -1
  143. package/styles.css +143 -124
  144. package/theme.css +90 -93
  145. package/components/ui/collapsible.js +0 -35
  146. package/fonts/aribau-grotesk-500.otf +0 -0
  147. package/fonts/aribau-grotesk-600.woff2 +0 -0
@@ -1,9 +1,9 @@
1
1
  "use client";
2
- import { jsxs as s, jsx as o } from "react/jsx-runtime";
3
- import * as d from "react";
4
- import { cn as a } from "../lib/cn.js";
5
- import { interactive as g } from "../lib/interactive.js";
6
- const h = a(
2
+ import { jsxs as v, jsx as a } from "react/jsx-runtime";
3
+ import * as r from "react";
4
+ import { cn as i } from "../lib/cn.js";
5
+ import { interactive as R } from "../lib/interactive.js";
6
+ const L = i(
7
7
  // Border WIDTH only — no border-color utility. ads-interactive owns the
8
8
  // color (rest = --glow-border-rest below); a `border-input` utility here
9
9
  // would out-cascade the hover/focus brand-black rules.
@@ -16,59 +16,70 @@ const h = a(
16
16
  // hover/focus snap the border to solid brand-black (no halo). The inner
17
17
  // glow is a whisper of inset depth so the writing surface reads recessed —
18
18
  // carried through every interactive state by the --glow-inset hook.
19
- g({ on: "all", color: "brand", intensity: "medium", animate: !0 }),
19
+ R({ on: "all", color: "brand", intensity: "medium", animate: !0 }),
20
20
  "[--glow-border-rest:var(--input)]",
21
21
  "[--glow-inset:var(--inner-glow-field)]"
22
- ), i = d.forwardRef(({ className: l, children: e, required: r, ...t }, n) => /* @__PURE__ */ s(
22
+ ), g = r.forwardRef(({ className: t, children: e, required: o, ...l }, n) => /* @__PURE__ */ v(
23
23
  "label",
24
24
  {
25
25
  ref: n,
26
- className: a(
26
+ className: i(
27
27
  "flex items-center gap-1 text-xs font-normal text-foreground select-none",
28
28
  "peer-disabled:cursor-not-allowed peer-disabled:opacity-60",
29
- l
29
+ t
30
30
  ),
31
- ...t,
31
+ ...l,
32
32
  children: [
33
33
  e,
34
- r && /* @__PURE__ */ o("span", { className: "text-danger", children: "*" })
34
+ o && /* @__PURE__ */ a("span", { className: "text-danger", children: "*" })
35
35
  ]
36
36
  }
37
37
  ));
38
- i.displayName = "Label";
39
- const c = d.forwardRef(({ className: l, ...e }, r) => /* @__PURE__ */ o(
38
+ g.displayName = "Label";
39
+ const w = r.forwardRef(({ className: t, ...e }, o) => /* @__PURE__ */ a(
40
40
  "p",
41
41
  {
42
- ref: r,
43
- className: a("text-xs text-muted-foreground", l),
42
+ ref: o,
43
+ className: i("text-xs text-muted-foreground", t),
44
44
  ...e
45
45
  }
46
46
  ));
47
- c.displayName = "FieldDescription";
48
- const m = d.forwardRef(
49
- ({ className: l, children: e, ...r }, t) => e ? /* @__PURE__ */ o(
47
+ w.displayName = "FieldDescription";
48
+ const y = r.forwardRef(
49
+ ({ className: t, children: e, ...o }, l) => e ? /* @__PURE__ */ a(
50
50
  "p",
51
51
  {
52
- ref: t,
53
- className: a("text-xs font-normal text-danger", l),
54
- ...r,
52
+ ref: l,
53
+ className: i("text-xs font-normal text-danger", t),
54
+ ...o,
55
55
  children: e
56
56
  }
57
57
  ) : null
58
58
  );
59
- m.displayName = "FieldError";
60
- const b = d.forwardRef(
61
- ({ className: l, label: e, description: r, error: t, required: n, htmlFor: f, children: p, ...x }, u) => /* @__PURE__ */ s("div", { ref: u, className: a("flex flex-col gap-1.5", l), ...x, children: [
62
- e && /* @__PURE__ */ o(i, { htmlFor: f, required: n, children: e }),
63
- p,
64
- t ? /* @__PURE__ */ o(m, { children: t }) : r ? /* @__PURE__ */ o(c, { children: r }) : null
65
- ] })
59
+ y.displayName = "FieldError";
60
+ const D = r.forwardRef(
61
+ ({ className: t, label: e, description: o, error: l, required: n, htmlFor: N, errorId: s, descriptionId: c, children: d, ...F }, h) => {
62
+ const m = r.useId(), f = s ?? `${m}-error`, p = c ?? `${m}-description`, u = l ? f : o ? p : void 0, E = s == null && c == null;
63
+ let x = d;
64
+ if (E && u && r.isValidElement(d)) {
65
+ const b = d.props;
66
+ x = r.cloneElement(d, {
67
+ "aria-describedby": [b["aria-describedby"], u].filter(Boolean).join(" ") || void 0,
68
+ "aria-invalid": b["aria-invalid"] ?? (l ? !0 : void 0)
69
+ });
70
+ }
71
+ return /* @__PURE__ */ v("div", { ref: h, className: i("flex flex-col gap-1.5", t), ...F, children: [
72
+ e && /* @__PURE__ */ a(g, { htmlFor: N, required: n, children: e }),
73
+ x,
74
+ l ? /* @__PURE__ */ a(y, { id: f, children: l }) : o ? /* @__PURE__ */ a(w, { id: p, children: o }) : null
75
+ ] });
76
+ }
66
77
  );
67
- b.displayName = "Field";
78
+ D.displayName = "Field";
68
79
  export {
69
- b as Field,
70
- c as FieldDescription,
71
- m as FieldError,
72
- i as Label,
73
- h as inputBaseClass
80
+ D as Field,
81
+ w as FieldDescription,
82
+ y as FieldError,
83
+ g as Label,
84
+ L as inputBaseClass
74
85
  };
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { jsxs as t, jsx as r, Fragment as f } from "react/jsx-runtime";
2
+ import { jsxs as a, jsx as r, Fragment as f } from "react/jsx-runtime";
3
3
  import * as i from "react";
4
4
  import { cva as C } from "class-variance-authority";
5
5
  import { cn as v } from "../lib/cn.js";
@@ -9,9 +9,9 @@ const T = C(
9
9
  v(
10
10
  "flex w-full cursor-pointer flex-col items-center justify-center gap-2 rounded-xl px-6 py-8 text-center",
11
11
  "border-2 border-dashed border-border-strong bg-surface outline-none",
12
- "transition-[background-color,border-color,transform] duration-(--duration-fast) ease-out",
12
+ "transition-[background-color,border-color,transform] duration-150 ease-out",
13
13
  "hover:bg-muted focus-visible:ring-3 focus-visible:ring-ring",
14
- "active:scale-(--scale-press) motion-reduce:transition-none"
14
+ "active:scale-[0.97] motion-reduce:transition-none"
15
15
  ),
16
16
  {
17
17
  variants: {
@@ -26,9 +26,9 @@ const T = C(
26
26
  },
27
27
  defaultVariants: { isDragging: !1, isDisabled: !1 }
28
28
  }
29
- ), j = (a) => a < 1024 ? `${a} B` : a < 1024 * 1024 ? `${Math.round(a / 1024)} KB` : `${(a / (1024 * 1024)).toFixed(1)} MB`, $ = i.forwardRef(
29
+ ), j = (t) => t < 1024 ? `${t} B` : t < 1024 * 1024 ? `${Math.round(t / 1024)} KB` : `${(t / (1024 * 1024)).toFixed(1)} MB`, $ = i.forwardRef(
30
30
  ({
31
- className: a,
31
+ className: t,
32
32
  accept: b,
33
33
  multiple: c = !1,
34
34
  disabled: n = !1,
@@ -45,7 +45,7 @@ const T = C(
45
45
  var e;
46
46
  return (e = m.current) == null ? void 0 : e.click();
47
47
  }, k = !!(s != null && s.length);
48
- return /* @__PURE__ */ t(
48
+ return /* @__PURE__ */ a(
49
49
  "div",
50
50
  {
51
51
  ref: z,
@@ -70,7 +70,7 @@ const T = C(
70
70
  },
71
71
  className: v(
72
72
  T({ isDragging: h, isDisabled: n }),
73
- a
73
+ t
74
74
  ),
75
75
  ...y,
76
76
  children: [
@@ -88,13 +88,13 @@ const T = C(
88
88
  }
89
89
  }
90
90
  ),
91
- k ? /* @__PURE__ */ t(f, { children: [
91
+ k ? /* @__PURE__ */ a(f, { children: [
92
92
  /* @__PURE__ */ r("span", { "aria-hidden": !0, className: "text-tertiary [&>svg]:size-6", children: /* @__PURE__ */ r(R, {}) }),
93
- /* @__PURE__ */ r("div", { className: "flex flex-col gap-0.5", children: s.map((e) => /* @__PURE__ */ t("span", { className: "text-base text-foreground", children: [
93
+ /* @__PURE__ */ r("div", { className: "flex flex-col gap-0.5", children: s.map((e) => /* @__PURE__ */ a("span", { className: "text-base text-foreground", children: [
94
94
  e.name,
95
95
  /* @__PURE__ */ r("span", { className: "ml-2 text-xs text-tertiary tabular-nums", children: j(e.size) })
96
96
  ] }, e.name)) }),
97
- /* @__PURE__ */ t("div", { className: "mt-1 flex items-center gap-2", children: [
97
+ /* @__PURE__ */ a("div", { className: "mt-1 flex items-center gap-2", children: [
98
98
  /* @__PURE__ */ r(D, { size: "sm", variant: "secondary", onClick: (e) => {
99
99
  e.stopPropagation(), u();
100
100
  }, children: "Replace" }),
@@ -111,9 +111,9 @@ const T = C(
111
111
  }
112
112
  )
113
113
  ] })
114
- ] }) : /* @__PURE__ */ t(f, { children: [
114
+ ] }) : /* @__PURE__ */ a(f, { children: [
115
115
  /* @__PURE__ */ r("span", { "aria-hidden": !0, className: "text-tertiary [&>svg]:size-6", children: /* @__PURE__ */ r(w, {}) }),
116
- /* @__PURE__ */ r("span", { className: "text-base text-foreground", children: N ?? /* @__PURE__ */ t(f, { children: [
116
+ /* @__PURE__ */ r("span", { className: "text-base text-foreground", children: N ?? /* @__PURE__ */ a(f, { children: [
117
117
  "Drop ",
118
118
  c ? "files" : "a file",
119
119
  " here, or",
@@ -1,5 +1,8 @@
1
1
  export { cn } from '../lib/cn';
2
2
  export { interactive, type InteractiveProps } from '../lib/interactive';
3
+ export { springEffect, springControl, springOverlay, springDialog, springSheet, springDisclosure, springHighlight, springProgress } from '../lib/motion';
4
+ export { springSwitch, springRadio, springCarousel, springSidebar, checkDrawTransition, fadeTransition } from '../lib/motion';
5
+ export { floatVariants, tooltipVariants, menuVariants, modalPanelVariants, backdropVariants, drawerBackdropVariants, drawerOffset, screenVariants, toastVariants } from '../lib/motion';
3
6
  export { TooltipProvider } from './ui/tooltip';
4
7
  export * from './button';
5
8
  export * from './spinner';