@actioneer/ads 0.5.4 → 0.5.5

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 (91) hide show
  1. package/components/accordion.js +15 -15
  2. package/components/agent-icon.d.ts +64 -0
  3. package/components/agent-icon.js +251 -0
  4. package/components/ai-elements/agent-trace.d.ts +8 -1
  5. package/components/ai-elements/agent-trace.js +164 -129
  6. package/components/ai-elements/chain-of-thought-icon.d.ts +42 -0
  7. package/components/ai-elements/chain-of-thought-icon.js +283 -0
  8. package/components/ai-elements/chain-of-thought.js +7 -7
  9. package/components/ai-elements/chart.js +38 -35
  10. package/components/ai-elements/index.d.ts +1 -0
  11. package/components/ai-elements/inline-citation.js +40 -40
  12. package/components/ai-elements/message.js +5 -5
  13. package/components/ai-elements/queue.js +1 -1
  14. package/components/ai-elements/research-activity.d.ts +2 -0
  15. package/components/ai-elements/research-activity.js +79 -81
  16. package/components/ai-elements/task-progress.js +2 -2
  17. package/components/ai-elements/tool.d.ts +4 -2
  18. package/components/ai-elements/tool.js +74 -54
  19. package/components/ai-elements/transcript.js +1 -1
  20. package/components/alert.js +1 -1
  21. package/components/answer.d.ts +2643 -311
  22. package/components/answer.js +1836 -425
  23. package/components/assistant-ui/answer-tool-ui.js +23 -28
  24. package/components/assistant-ui/chain-of-thought.d.ts +7 -2
  25. package/components/assistant-ui/composer-harness.js +20 -16
  26. package/components/assistant-ui/reasoning.js +35 -31
  27. package/components/assistant-ui/tool-fallback.js +125 -122
  28. package/components/assistant-ui/tool-group.d.ts +3 -1
  29. package/components/assistant-ui/tool-group.js +48 -43
  30. package/components/audio-waveform.js +14 -14
  31. package/components/autocomplete.js +52 -48
  32. package/components/avatar.js +58 -44
  33. package/components/badge.js +3 -3
  34. package/components/brand-texture.js +1 -1
  35. package/components/breadcrumbs.d.ts +27 -1
  36. package/components/breadcrumbs.js +94 -42
  37. package/components/button.js +15 -15
  38. package/components/carousel.js +10 -10
  39. package/components/chart.js +77 -77
  40. package/components/chip.js +3 -3
  41. package/components/code-block.d.ts +39 -17
  42. package/components/code-block.js +153 -104
  43. package/components/command-palette.js +27 -25
  44. package/components/connector-card.js +2 -2
  45. package/components/dropdown.js +65 -61
  46. package/components/empty-state.js +15 -15
  47. package/components/field.js +23 -23
  48. package/components/index.d.ts +4 -0
  49. package/components/index.js +523 -477
  50. package/components/infinite-canvas.js +60 -60
  51. package/components/kbd.js +6 -6
  52. package/components/link.js +6 -6
  53. package/components/modal.js +22 -20
  54. package/components/page-header.js +1 -1
  55. package/components/pagination.js +22 -22
  56. package/components/pixel-blast-svg.js +1 -1
  57. package/components/pixel-icon.d.ts +31 -0
  58. package/components/pixel-icon.js +733 -0
  59. package/components/popover.js +46 -42
  60. package/components/ripple.d.ts +29 -0
  61. package/components/ripple.js +17 -0
  62. package/components/segmented.js +24 -23
  63. package/components/select.js +71 -67
  64. package/components/selection-action-bar.js +22 -22
  65. package/components/sidebar.d.ts +11 -3
  66. package/components/sidebar.js +161 -148
  67. package/components/stepper.d.ts +2 -0
  68. package/components/stepper.js +80 -43
  69. package/components/table.d.ts +7 -0
  70. package/components/table.js +223 -155
  71. package/components/tabs.d.ts +3 -1
  72. package/components/tabs.js +165 -144
  73. package/components/textarea.js +10 -8
  74. package/components/toast.js +48 -46
  75. package/components/tooltip.js +61 -59
  76. package/components/tree.js +44 -41
  77. package/components/typography.d.ts +1 -1
  78. package/components/typography.js +25 -25
  79. package/components/viz-charts.js +133 -133
  80. package/fonts/aribau-grotesk-500.otf +0 -0
  81. package/fonts/aribau-grotesk-600.woff2 +0 -0
  82. package/fonts.css +6 -4
  83. package/lib/icons.d.ts +411 -402
  84. package/lib/icons.js +109 -107
  85. package/llms.txt +96 -8
  86. package/manifest.json +951 -54
  87. package/package.json +5 -5
  88. package/styles.css +206 -81
  89. package/theme.css +200 -77
  90. package/fonts/aribau-grotesk-400.otf +0 -0
  91. package/fonts/aribau-grotesk-700.otf +0 -0
@@ -1,78 +1,79 @@
1
1
  "use client";
2
- import { jsxs as N, jsx as w } from "react/jsx-runtime";
2
+ import { jsxs as C, jsx as w } from "react/jsx-runtime";
3
3
  import * as c from "react";
4
- import { createPortal as A } from "react-dom";
5
- import { MotionConfig as I, AnimatePresence as P, motion as z } from "motion/react";
4
+ import { createPortal as I } from "react-dom";
5
+ import { MotionConfig as P, AnimatePresence as z, motion as O } from "motion/react";
6
6
  import { cn as D } from "../lib/cn.js";
7
- import { floatVariants as O } from "../lib/motion.js";
8
- const q = (r, t) => `${r === "top" ? "bottom" : "top"} ${t === "start" ? "left" : "right"}`, k = c.createContext(null);
7
+ import { floatVariants as q } from "../lib/motion.js";
8
+ import { Ripple as $ } from "./ripple.js";
9
+ const k = (r, t) => `${r === "top" ? "bottom" : "top"} ${t === "start" ? "left" : "right"}`, L = c.createContext(null);
9
10
  function R(r) {
10
- const t = c.useContext(k);
11
+ const t = c.useContext(L);
11
12
  if (!t)
12
13
  throw new Error(`${r} must be used within a <Dropdown>.`);
13
14
  return t;
14
15
  }
15
- function B({ children: r, defaultOpen: t = !1 }) {
16
- const [o, d] = c.useState(t), f = c.useRef(null), p = c.useRef(null);
17
- return /* @__PURE__ */ w(k.Provider, { value: { open: o, setOpen: d, triggerRef: f, contentRef: p }, children: r });
16
+ function U({ children: r, defaultOpen: t = !1 }) {
17
+ const [n, d] = c.useState(t), f = c.useRef(null), p = c.useRef(null);
18
+ return /* @__PURE__ */ w(L.Provider, { value: { open: n, setOpen: d, triggerRef: f, contentRef: p }, children: r });
18
19
  }
19
- function F({ children: r }) {
20
- const { open: t, setOpen: o, triggerRef: d } = R("DropdownTrigger"), f = r;
20
+ function V({ children: r }) {
21
+ const { open: t, setOpen: n, triggerRef: d } = R("DropdownTrigger"), f = r;
21
22
  return c.cloneElement(f, {
22
23
  ref: d,
23
24
  "aria-expanded": t,
24
25
  "aria-haspopup": "menu",
25
26
  onClick: (p) => {
26
- var b, u;
27
- (u = (b = f.props).onClick) == null || u.call(b, p), o(!t);
27
+ var v, u;
28
+ (u = (v = f.props).onClick) == null || u.call(v, p), n(!t);
28
29
  }
29
30
  });
30
31
  }
31
- function U({
32
+ function W({
32
33
  className: r,
33
34
  align: t = "start",
34
- side: o = "bottom",
35
+ side: n = "bottom",
35
36
  sideOffset: d = 6,
36
37
  autoFocusFirstItem: f = !0,
37
38
  children: p,
38
- ...b
39
+ ...v
39
40
  }) {
40
- const { open: u, setOpen: v, triggerRef: m, contentRef: a } = R("DropdownContent"), [i, C] = c.useState(null);
41
+ const { open: u, setOpen: b, triggerRef: m, contentRef: a } = R("DropdownContent"), [i, N] = c.useState(null);
41
42
  c.useLayoutEffect(() => {
42
43
  if (!u) return;
43
44
  const s = m.current;
44
45
  if (!s) return;
45
46
  const e = () => {
46
47
  var h, x;
47
- const n = s.getBoundingClientRect(), l = ((h = a.current) == null ? void 0 : h.offsetWidth) ?? 0, g = ((x = a.current) == null ? void 0 : x.offsetHeight) ?? 0, y = t === "end" ? n.right - l : n.left, E = o === "top" ? n.top - g - d : n.bottom + d;
48
- C({ top: E, left: y });
48
+ const o = s.getBoundingClientRect(), l = ((h = a.current) == null ? void 0 : h.offsetWidth) ?? 0, g = ((x = a.current) == null ? void 0 : x.offsetHeight) ?? 0, y = t === "end" ? o.right - l : o.left, E = n === "top" ? o.top - g - d : o.bottom + d;
49
+ N({ top: E, left: y });
49
50
  };
50
51
  return e(), window.addEventListener("resize", e), window.addEventListener("scroll", e, !0), () => {
51
52
  window.removeEventListener("resize", e), window.removeEventListener("scroll", e, !0);
52
53
  };
53
- }, [u, t, o, d, m, a]), c.useEffect(() => {
54
+ }, [u, t, n, d, m, a]), c.useEffect(() => {
54
55
  if (!u) return;
55
56
  const s = requestAnimationFrame(() => {
56
- var e, n;
57
+ var e, o;
57
58
  if (f) {
58
59
  const l = (e = a.current) == null ? void 0 : e.querySelector(
59
60
  '[role="menuitem"]:not([aria-disabled="true"])'
60
61
  );
61
62
  l == null || l.focus();
62
63
  } else
63
- (n = a.current) == null || n.focus();
64
+ (o = a.current) == null || o.focus();
64
65
  });
65
66
  return () => cancelAnimationFrame(s);
66
67
  }, [u, f, a]), c.useEffect(() => {
67
68
  if (!u) return;
68
69
  const s = (e) => {
69
70
  var l, g;
70
- const n = e.target;
71
- (l = a.current) != null && l.contains(n) || (g = m.current) != null && g.contains(n) || v(!1);
71
+ const o = e.target;
72
+ (l = a.current) != null && l.contains(o) || (g = m.current) != null && g.contains(o) || b(!1);
72
73
  };
73
74
  return document.addEventListener("pointerdown", s), () => document.removeEventListener("pointerdown", s);
74
- }, [u, v, m, a]);
75
- const L = (s) => {
75
+ }, [u, b, m, a]);
76
+ const A = (s) => {
76
77
  var l, g, y, E, h, x;
77
78
  const e = Array.from(
78
79
  ((l = a.current) == null ? void 0 : l.querySelectorAll(
@@ -80,16 +81,16 @@ function U({
80
81
  )) ?? []
81
82
  );
82
83
  if (e.length === 0) return;
83
- const n = e.indexOf(document.activeElement);
84
+ const o = e.indexOf(document.activeElement);
84
85
  switch (s.key) {
85
86
  case "Escape":
86
- s.preventDefault(), v(!1), (g = m.current) == null || g.focus();
87
+ s.preventDefault(), b(!1), (g = m.current) == null || g.focus();
87
88
  break;
88
89
  case "ArrowDown":
89
- s.preventDefault(), (y = e[n < 0 ? 0 : (n + 1) % e.length]) == null || y.focus();
90
+ s.preventDefault(), (y = e[o < 0 ? 0 : (o + 1) % e.length]) == null || y.focus();
90
91
  break;
91
92
  case "ArrowUp":
92
- s.preventDefault(), (E = e[n < 0 ? e.length - 1 : (n - 1 + e.length) % e.length]) == null || E.focus();
93
+ s.preventDefault(), (E = e[o < 0 ? e.length - 1 : (o - 1 + e.length) % e.length]) == null || E.focus();
93
94
  break;
94
95
  case "Home":
95
96
  s.preventDefault(), (h = e[0]) == null || h.focus();
@@ -99,15 +100,15 @@ function U({
99
100
  break;
100
101
  }
101
102
  };
102
- return A(
103
- /* @__PURE__ */ w(I, { reducedMotion: "user", children: /* @__PURE__ */ w(P, { children: u && /* @__PURE__ */ w(
104
- z.div,
103
+ return I(
104
+ /* @__PURE__ */ w(P, { reducedMotion: "user", children: /* @__PURE__ */ w(z, { children: u && /* @__PURE__ */ C(
105
+ O.div,
105
106
  {
106
107
  ref: a,
107
108
  role: "menu",
108
109
  tabIndex: -1,
109
- onKeyDown: L,
110
- variants: O,
110
+ onKeyDown: A,
111
+ variants: q,
111
112
  initial: "hidden",
112
113
  animate: "visible",
113
114
  exit: "hidden",
@@ -116,27 +117,30 @@ function U({
116
117
  top: (i == null ? void 0 : i.top) ?? 0,
117
118
  left: (i == null ? void 0 : i.left) ?? 0,
118
119
  visibility: i ? "visible" : "hidden",
119
- transformOrigin: q(o, t)
120
+ transformOrigin: k(n, t)
120
121
  },
121
122
  className: D(
122
- "z-50 min-w-44 rounded-lg border border-border bg-elevated p-1",
123
+ "relative z-50 min-w-44 rounded-lg border border-border bg-elevated p-1",
123
124
  "text-foreground shadow-elevation outline-none",
124
125
  r
125
126
  ),
126
- ...b,
127
- children: p
127
+ ...v,
128
+ children: [
129
+ /* @__PURE__ */ w($, { origin: k(n, t) }),
130
+ p
131
+ ]
128
132
  }
129
133
  ) }) }),
130
134
  document.body
131
135
  );
132
136
  }
133
- const $ = c.forwardRef(
134
- ({ className: r, startContent: t, danger: o, disabled: d, onSelect: f, children: p, ...b }, u) => {
135
- const { setOpen: v, triggerRef: m } = R("DropdownItem"), a = () => {
137
+ const j = c.forwardRef(
138
+ ({ className: r, startContent: t, danger: n, disabled: d, onSelect: f, children: p, ...v }, u) => {
139
+ const { setOpen: b, triggerRef: m } = R("DropdownItem"), a = () => {
136
140
  var i;
137
- d || (f == null || f(), v(!1), (i = m.current) == null || i.focus());
141
+ d || (f == null || f(), b(!1), (i = m.current) == null || i.focus());
138
142
  };
139
- return /* @__PURE__ */ N(
143
+ return /* @__PURE__ */ C(
140
144
  "div",
141
145
  {
142
146
  ref: u,
@@ -151,12 +155,12 @@ const $ = c.forwardRef(
151
155
  "flex cursor-default items-center gap-2 rounded-md px-2 py-1.5 text-xs",
152
156
  "outline-none transition-colors duration-(--duration-fast)",
153
157
  "focus-visible:ring-3 focus-visible:ring-ring",
154
- o ? "text-danger" : "text-foreground",
155
- d ? "pointer-events-none opacity-50" : D("hover:bg-muted focus:bg-muted", o && "hover:bg-danger/10 focus:bg-danger/10"),
158
+ n ? "text-danger" : "text-foreground",
159
+ d ? "pointer-events-none opacity-50" : D("hover:bg-muted focus:bg-muted", n && "hover:bg-danger/10 focus:bg-danger/10"),
156
160
  "[&_svg]:size-4 [&_svg]:shrink-0",
157
161
  r
158
162
  ),
159
- ...b,
163
+ ...v,
160
164
  children: [
161
165
  t,
162
166
  /* @__PURE__ */ w("span", { className: "flex-1", children: p })
@@ -165,34 +169,34 @@ const $ = c.forwardRef(
165
169
  );
166
170
  }
167
171
  );
168
- $.displayName = "DropdownItem";
169
- const j = c.forwardRef(({ className: r, ...t }, o) => /* @__PURE__ */ w(
172
+ j.displayName = "DropdownItem";
173
+ const H = c.forwardRef(({ className: r, ...t }, n) => /* @__PURE__ */ w(
170
174
  "div",
171
175
  {
172
- ref: o,
176
+ ref: n,
173
177
  role: "separator",
174
178
  className: D("my-1 h-px bg-border", r),
175
179
  ...t
176
180
  }
177
181
  ));
178
- j.displayName = "DropdownSeparator";
179
- const H = c.forwardRef(({ className: r, ...t }, o) => /* @__PURE__ */ w(
182
+ H.displayName = "DropdownSeparator";
183
+ const K = c.forwardRef(({ className: r, ...t }, n) => /* @__PURE__ */ w(
180
184
  "div",
181
185
  {
182
- ref: o,
186
+ ref: n,
183
187
  className: D(
184
- "px-2 py-1.5 text-xs font-medium text-muted-foreground select-none",
188
+ "px-2 py-1.5 text-xs font-normal text-muted-foreground select-none",
185
189
  r
186
190
  ),
187
191
  ...t
188
192
  }
189
193
  ));
190
- H.displayName = "DropdownLabel";
194
+ K.displayName = "DropdownLabel";
191
195
  export {
192
- B as Dropdown,
193
- U as DropdownContent,
194
- $ as DropdownItem,
195
- H as DropdownLabel,
196
- j as DropdownSeparator,
197
- F as DropdownTrigger
196
+ U as Dropdown,
197
+ W as DropdownContent,
198
+ j as DropdownItem,
199
+ K as DropdownLabel,
200
+ H as DropdownSeparator,
201
+ V as DropdownTrigger
198
202
  };
@@ -4,8 +4,8 @@ import * as x from "react";
4
4
  import { Inbox as f } from "../lib/icons.js";
5
5
  import { cn as s } from "../lib/cn.js";
6
6
  const g = x.forwardRef(
7
- ({ className: r, icon: d, illustration: a, title: n, description: c, action: o, ...m }, h) => {
8
- const l = a != null;
7
+ ({ className: r, icon: d, illustration: i, title: n, description: c, action: o, ...m }, h) => {
8
+ const l = i != null;
9
9
  return /* @__PURE__ */ t(
10
10
  "div",
11
11
  {
@@ -17,13 +17,13 @@ const g = x.forwardRef(
17
17
  ),
18
18
  ...m,
19
19
  children: [
20
- l ? a : /* @__PURE__ */ e("span", { className: "inline-flex items-center justify-center rounded-full bg-muted p-3 text-muted-foreground [&_svg]:size-6", children: d ?? /* @__PURE__ */ e(f, { "aria-hidden": !0 }) }),
20
+ l ? i : /* @__PURE__ */ e("span", { className: "inline-flex items-center justify-center rounded-full bg-muted p-3 text-muted-foreground [&_svg]:size-6", children: d ?? /* @__PURE__ */ e(f, { "aria-hidden": !0 }) }),
21
21
  /* @__PURE__ */ t("div", { className: "flex flex-col gap-1.5", children: [
22
22
  /* @__PURE__ */ e(
23
23
  "p",
24
24
  {
25
25
  className: s(
26
- l ? "text-lg font-bold text-foreground" : "font-medium"
26
+ l ? "text-lg font-semibold text-foreground" : "font-normal"
27
27
  ),
28
28
  children: n
29
29
  }
@@ -46,9 +46,9 @@ const g = x.forwardRef(
46
46
  }
47
47
  );
48
48
  g.displayName = "EmptyState";
49
- const i = "h-28 w-auto";
49
+ const a = "h-28 w-auto";
50
50
  function y({ className: r }) {
51
- return /* @__PURE__ */ t("svg", { viewBox: "0 0 140 120", role: "img", "aria-hidden": !0, className: s(i, r), children: [
51
+ return /* @__PURE__ */ t("svg", { viewBox: "0 0 140 120", role: "img", "aria-hidden": !0, className: s(a, r), children: [
52
52
  /* @__PURE__ */ e(
53
53
  "rect",
54
54
  {
@@ -83,7 +83,7 @@ function y({ className: r }) {
83
83
  }
84
84
  y.displayName = "EmptyDocuments";
85
85
  function N({ className: r }) {
86
- return /* @__PURE__ */ t("svg", { viewBox: "0 0 140 120", role: "img", "aria-hidden": !0, className: s(i, r), children: [
86
+ return /* @__PURE__ */ t("svg", { viewBox: "0 0 140 120", role: "img", "aria-hidden": !0, className: s(a, r), children: [
87
87
  /* @__PURE__ */ e(
88
88
  "rect",
89
89
  {
@@ -126,8 +126,8 @@ function N({ className: r }) {
126
126
  ] });
127
127
  }
128
128
  N.displayName = "EmptySearch";
129
- function u({ className: r }) {
130
- return /* @__PURE__ */ t("svg", { viewBox: "0 0 140 120", role: "img", "aria-hidden": !0, className: s(i, r), children: [
129
+ function p({ className: r }) {
130
+ return /* @__PURE__ */ t("svg", { viewBox: "0 0 140 120", role: "img", "aria-hidden": !0, className: s(a, r), children: [
131
131
  /* @__PURE__ */ e(
132
132
  "path",
133
133
  {
@@ -153,20 +153,20 @@ function u({ className: r }) {
153
153
  )
154
154
  ] });
155
155
  }
156
- u.displayName = "EmptyConnections";
157
- function p({ className: r }) {
158
- return /* @__PURE__ */ t("svg", { viewBox: "0 0 140 120", role: "img", "aria-hidden": !0, className: s(i, r), children: [
156
+ p.displayName = "EmptyConnections";
157
+ function u({ className: r }) {
158
+ return /* @__PURE__ */ t("svg", { viewBox: "0 0 140 120", role: "img", "aria-hidden": !0, className: s(a, r), children: [
159
159
  /* @__PURE__ */ e("rect", { x: "34", y: "88", width: "72", height: "3", rx: "1.5", className: "fill-border-strong" }),
160
160
  /* @__PURE__ */ e("rect", { x: "40", y: "64", width: "15", height: "24", rx: "3", className: "fill-muted" }),
161
161
  /* @__PURE__ */ e("rect", { x: "62", y: "50", width: "15", height: "38", rx: "3", className: "fill-border-strong" }),
162
162
  /* @__PURE__ */ e("rect", { x: "84", y: "34", width: "15", height: "54", rx: "3", className: "fill-brand" })
163
163
  ] });
164
164
  }
165
- p.displayName = "EmptyInsights";
165
+ u.displayName = "EmptyInsights";
166
166
  export {
167
- u as EmptyConnections,
167
+ p as EmptyConnections,
168
168
  y as EmptyDocuments,
169
- p as EmptyInsights,
169
+ u as EmptyInsights,
170
170
  N as EmptySearch,
171
171
  g as EmptyState
172
172
  };
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { jsxs as n, jsx as o } from "react/jsx-runtime";
2
+ import { jsxs as s, jsx as o } from "react/jsx-runtime";
3
3
  import * as d from "react";
4
4
  import { cn as a } from "../lib/cn.js";
5
5
  import { interactive as g } from "../lib/interactive.js";
@@ -7,7 +7,7 @@ const h = a(
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.
10
- "flex w-full rounded-md border bg-elevated text-foreground",
10
+ "flex w-full rounded-full border bg-elevated text-foreground",
11
11
  "px-3 text-xs",
12
12
  "placeholder:text-muted-foreground",
13
13
  "outline-none",
@@ -19,56 +19,56 @@ const h = a(
19
19
  g({ on: "all", color: "brand", intensity: "medium", animate: !0 }),
20
20
  "[--glow-border-rest:var(--input)]",
21
21
  "[--glow-inset:var(--inner-glow-field)]"
22
- ), s = d.forwardRef(({ className: t, children: e, required: r, ...l }, i) => /* @__PURE__ */ n(
22
+ ), i = d.forwardRef(({ className: r, children: e, required: l, ...t }, n) => /* @__PURE__ */ s(
23
23
  "label",
24
24
  {
25
- ref: i,
25
+ ref: n,
26
26
  className: a(
27
- "flex items-center gap-1 text-xs font-medium text-foreground select-none",
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
- t
29
+ r
30
30
  ),
31
- ...l,
31
+ ...t,
32
32
  children: [
33
33
  e,
34
- r && /* @__PURE__ */ o("span", { className: "text-danger", children: "*" })
34
+ l && /* @__PURE__ */ o("span", { className: "text-danger", children: "*" })
35
35
  ]
36
36
  }
37
37
  ));
38
- s.displayName = "Label";
39
- const c = d.forwardRef(({ className: t, ...e }, r) => /* @__PURE__ */ o(
38
+ i.displayName = "Label";
39
+ const c = d.forwardRef(({ className: r, ...e }, l) => /* @__PURE__ */ o(
40
40
  "p",
41
41
  {
42
- ref: r,
43
- className: a("text-xs text-muted-foreground", t),
42
+ ref: l,
43
+ className: a("text-xs text-muted-foreground", r),
44
44
  ...e
45
45
  }
46
46
  ));
47
47
  c.displayName = "FieldDescription";
48
- const m = d.forwardRef(
49
- ({ className: t, children: e, ...r }, l) => e ? /* @__PURE__ */ o(
48
+ const f = d.forwardRef(
49
+ ({ className: r, children: e, ...l }, t) => e ? /* @__PURE__ */ o(
50
50
  "p",
51
51
  {
52
- ref: l,
53
- className: a("text-xs font-medium text-danger", t),
54
- ...r,
52
+ ref: t,
53
+ className: a("text-xs font-normal text-danger", r),
54
+ ...l,
55
55
  children: e
56
56
  }
57
57
  ) : null
58
58
  );
59
- m.displayName = "FieldError";
59
+ f.displayName = "FieldError";
60
60
  const b = d.forwardRef(
61
- ({ className: t, label: e, description: r, error: l, required: i, htmlFor: f, children: p, ...x }, u) => /* @__PURE__ */ n("div", { ref: u, className: a("flex flex-col gap-1.5", t), ...x, children: [
62
- e && /* @__PURE__ */ o(s, { htmlFor: f, required: i, children: e }),
61
+ ({ className: r, label: e, description: l, error: t, required: n, htmlFor: m, children: p, ...x }, u) => /* @__PURE__ */ s("div", { ref: u, className: a("flex flex-col gap-1.5", r), ...x, children: [
62
+ e && /* @__PURE__ */ o(i, { htmlFor: m, required: n, children: e }),
63
63
  p,
64
- l ? /* @__PURE__ */ o(m, { children: l }) : r ? /* @__PURE__ */ o(c, { children: r }) : null
64
+ t ? /* @__PURE__ */ o(f, { children: t }) : l ? /* @__PURE__ */ o(c, { children: l }) : null
65
65
  ] })
66
66
  );
67
67
  b.displayName = "Field";
68
68
  export {
69
69
  b as Field,
70
70
  c as FieldDescription,
71
- m as FieldError,
72
- s as Label,
71
+ f as FieldError,
72
+ i as Label,
73
73
  h as inputBaseClass
74
74
  };
@@ -16,6 +16,7 @@ export * from './scroll-area';
16
16
  export * from './stepper';
17
17
  export * from './resizable-panel';
18
18
  export * from './audio-waveform';
19
+ export * from './tooltip';
19
20
  export * from './input';
20
21
  export * from './input-field';
21
22
  export * from './textarea';
@@ -52,6 +53,9 @@ export * from './timeline';
52
53
  export * from './alert';
53
54
  export * from './brand-loader';
54
55
  export * from './pixel-blast-svg';
56
+ export * from './pixel-icon';
57
+ export * from './agent-icon';
58
+ export * from './ripple';
55
59
  export * from './brand-texture';
56
60
  export * from './progress';
57
61
  export * from './progress-circle';