@actioneer/ads 1.0.6 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/DESIGN.md +80 -86
  2. package/README.md +6 -0
  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 +5 -4
  8. package/components/alert.js +91 -79
  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-trigger-popover.js +1 -1
  14. package/components/assistant-ui/composer.js +13 -13
  15. package/components/assistant-ui/message-timing.js +6 -6
  16. package/components/assistant-ui/selection-toolbar.js +5 -5
  17. package/components/assistant-ui/sources.js +15 -15
  18. package/components/assistant-ui/tooltip-icon-button.js +18 -14
  19. package/components/audio-waveform.d.ts +21 -8
  20. package/components/audio-waveform.js +371 -94
  21. package/components/autocomplete.js +9 -9
  22. package/components/breadcrumbs.js +32 -38
  23. package/components/button.js +83 -73
  24. package/components/card.js +1 -1
  25. package/components/chart.js +732 -673
  26. package/components/chip.js +37 -35
  27. package/components/command-palette.js +12 -12
  28. package/components/connector-card.d.ts +1 -2
  29. package/components/connector-card.js +17 -17
  30. package/components/date-range-picker.js +1 -2
  31. package/components/drawer.js +9 -10
  32. package/components/dropdown.js +1 -1
  33. package/components/empty-state.d.ts +2 -0
  34. package/components/empty-state.js +17 -15
  35. package/components/field.js +9 -10
  36. package/components/file-dropzone.d.ts +6 -3
  37. package/components/file-dropzone.js +72 -60
  38. package/components/infinite-canvas.js +9 -9
  39. package/components/modal.js +1 -1
  40. package/components/page-body.js +8 -8
  41. package/components/popover.js +11 -11
  42. package/components/progress-circle.d.ts +1 -1
  43. package/components/progress-circle.js +57 -48
  44. package/components/radio.d.ts +1 -1
  45. package/components/radio.js +53 -53
  46. package/components/segmented.d.ts +1 -0
  47. package/components/segmented.js +34 -36
  48. package/components/select.js +2 -2
  49. package/components/selection-action-bar.js +32 -31
  50. package/components/setting-row.js +10 -10
  51. package/components/sidebar.js +74 -73
  52. package/components/slider.js +5 -5
  53. package/components/stepper.d.ts +1 -1
  54. package/components/stepper.js +1 -1
  55. package/components/switch.js +10 -10
  56. package/components/table.d.ts +17 -5
  57. package/components/table.js +559 -405
  58. package/components/tabs.js +41 -35
  59. package/components/timeline.js +3 -3
  60. package/components/toast.js +53 -56
  61. package/components/ui/button.js +4 -4
  62. package/components/ui/dialog.js +1 -1
  63. package/components/viz-charts.js +263 -221
  64. package/examples/README.md +30 -0
  65. package/examples/agents-screen.tsx +477 -0
  66. package/examples/settings-screen.tsx +90 -0
  67. package/examples/workspace-header.tsx +71 -0
  68. package/lib/icons.d.ts +8 -0
  69. package/lib/icons.js +171 -118
  70. package/llms.txt +16 -16
  71. package/manifest.json +178 -54
  72. package/package.json +1 -1
  73. package/styles.css +60 -72
  74. package/theme.css +55 -63
@@ -1,10 +1,10 @@
1
1
  "use client";
2
- import { jsx as p, jsxs as E } from "react/jsx-runtime";
2
+ import { jsx as m, jsxs as E } from "react/jsx-runtime";
3
3
  import * as r from "react";
4
- import { MotionConfig as $, motion as M } from "motion/react";
4
+ import { MotionConfig as j, motion as $ } from "motion/react";
5
5
  import { cva as L } from "class-variance-authority";
6
6
  import { cn as b } from "../lib/cn.js";
7
- import { springControl as U } from "../lib/motion.js";
7
+ import { springControl as M } from "../lib/motion.js";
8
8
  const N = (o, e, t) => `${o}-${e}-${encodeURIComponent(t).replaceAll("%", "_")}`, P = r.createContext(null);
9
9
  function z(o) {
10
10
  const e = r.useContext(P);
@@ -12,32 +12,32 @@ function z(o) {
12
12
  throw new Error(`<${o}> must be used within <Tabs>`);
13
13
  return e;
14
14
  }
15
- const _ = r.forwardRef(
15
+ const U = r.forwardRef(
16
16
  ({
17
17
  className: o,
18
18
  value: e,
19
19
  defaultValue: t,
20
20
  onValueChange: a,
21
- variant: y,
21
+ variant: w,
22
22
  orientation: c = "horizontal",
23
- size: m,
23
+ size: p,
24
24
  children: R,
25
25
  ...A
26
26
  }, k) => {
27
- const x = e !== void 0, [g, v] = r.useState(t), T = r.useId().replaceAll(":", ""), d = r.useId(), w = r.useRef([]), h = r.useRef(/* @__PURE__ */ new Set()), f = x ? e : g, I = r.useCallback(
27
+ const x = e !== void 0, [y, v] = r.useState(t), T = r.useId().replaceAll(":", ""), d = r.useId(), g = r.useRef([]), h = r.useRef(/* @__PURE__ */ new Set()), f = x ? e : y, I = r.useCallback(
28
28
  (l) => {
29
29
  x || v(l), a == null || a(l);
30
30
  },
31
31
  [x, a]
32
32
  ), i = r.useCallback((l) => {
33
- w.current.includes(l) || w.current.push(l);
33
+ g.current.includes(l) || g.current.push(l);
34
34
  }, []), s = r.useMemo(
35
35
  () => ({
36
36
  value: f,
37
37
  setValue: I,
38
38
  baseId: T,
39
39
  registerTab: i,
40
- tabs: w,
40
+ tabs: g,
41
41
  disabled: h,
42
42
  thumbId: d,
43
43
  orientation: c
@@ -51,7 +51,7 @@ const _ = r.forwardRef(
51
51
  c
52
52
  ]
53
53
  );
54
- return /* @__PURE__ */ p(P.Provider, { value: s, children: /* @__PURE__ */ p(
54
+ return /* @__PURE__ */ m(P.Provider, { value: s, children: /* @__PURE__ */ m(
55
55
  "div",
56
56
  {
57
57
  ref: k,
@@ -63,16 +63,22 @@ const _ = r.forwardRef(
63
63
  o
64
64
  ),
65
65
  ...A,
66
- children: /* @__PURE__ */ p($, { reducedMotion: "user", children: R })
66
+ children: /* @__PURE__ */ m(j, { reducedMotion: "user", children: R })
67
67
  }
68
68
  ) });
69
69
  }
70
70
  );
71
- _.displayName = "Tabs";
71
+ U.displayName = "Tabs";
72
72
  const C = L("inline-flex text-l", {
73
73
  variants: {
74
74
  orientation: {
75
- horizontal: "w-full self-start flex-row items-center gap-4 overflow-x-auto border-b border-table-stroke",
75
+ horizontal: b(
76
+ "w-full self-start flex-row items-center gap-4 overflow-x-auto",
77
+ // Full-width 1px baseline: WG3 at the leading edge fading to
78
+ // transparent. Triggers overlap it (-mb-px) so the thumb slides on it.
79
+ "pb-px bg-[image:linear-gradient(to_right,var(--border-tertiary),transparent)]",
80
+ "bg-[length:100%_1px] bg-bottom bg-no-repeat"
81
+ ),
76
82
  vertical: "flex-col items-stretch gap-0 border-r border-table-stroke"
77
83
  }
78
84
  },
@@ -82,7 +88,7 @@ const C = L("inline-flex text-l", {
82
88
  }), B = r.forwardRef(
83
89
  ({ className: o, ...e }, t) => {
84
90
  const { orientation: a } = z("TabList");
85
- return /* @__PURE__ */ p(
91
+ return /* @__PURE__ */ m(
86
92
  "div",
87
93
  {
88
94
  ref: t,
@@ -121,15 +127,15 @@ const H = L(
121
127
  }
122
128
  }
123
129
  ), O = r.forwardRef(
124
- ({ className: o, value: e, isDisabled: t, count: a, children: y, onClick: c, onKeyDown: m, ...R }, A) => {
130
+ ({ className: o, value: e, isDisabled: t, count: a, children: w, onClick: c, onKeyDown: p, ...R }, A) => {
125
131
  const {
126
132
  value: k,
127
133
  setValue: x,
128
- baseId: g,
134
+ baseId: y,
129
135
  registerTab: v,
130
136
  tabs: T,
131
137
  disabled: d,
132
- thumbId: w,
138
+ thumbId: g,
133
139
  orientation: h
134
140
  } = z("Tab"), f = k === e;
135
141
  r.useEffect(() => {
@@ -138,17 +144,17 @@ const H = L(
138
144
  t ? d.current.add(e) : d.current.delete(e);
139
145
  }, [d, t, e]);
140
146
  const I = (i) => {
141
- if (m == null || m(i), i.defaultPrevented) return;
147
+ if (p == null || p(i), i.defaultPrevented) return;
142
148
  const s = T.current, l = s.indexOf(e);
143
149
  if (l === -1) return;
144
- const V = h === "vertical" ? ["ArrowDown"] : ["ArrowRight", "ArrowDown"], j = h === "vertical" ? ["ArrowUp"] : ["ArrowLeft", "ArrowUp"];
150
+ const V = h === "vertical" ? ["ArrowDown"] : ["ArrowRight", "ArrowDown"], _ = h === "vertical" ? ["ArrowUp"] : ["ArrowLeft", "ArrowUp"];
145
151
  let n = null;
146
152
  if (V.includes(i.key)) {
147
153
  n = l;
148
154
  do
149
155
  n = (n + 1) % s.length;
150
156
  while (d.current.has(s[n]) && n !== l);
151
- } else if (j.includes(i.key)) {
157
+ } else if (_.includes(i.key)) {
152
158
  n = l;
153
159
  do
154
160
  n = (n - 1 + s.length) % s.length;
@@ -166,7 +172,7 @@ const H = L(
166
172
  i.preventDefault();
167
173
  const u = s[n];
168
174
  x(u);
169
- const S = document.getElementById(N(g, "tab", u));
175
+ const S = document.getElementById(N(y, "tab", u));
170
176
  S == null || S.focus();
171
177
  }
172
178
  };
@@ -176,7 +182,7 @@ const H = L(
176
182
  ref: A,
177
183
  type: "button",
178
184
  role: "tab",
179
- id: N(g, "tab", e),
185
+ id: N(y, "tab", e),
180
186
  "aria-selected": f,
181
187
  "aria-disabled": t || void 0,
182
188
  disabled: t,
@@ -193,12 +199,12 @@ const H = L(
193
199
  onKeyDown: I,
194
200
  ...R,
195
201
  children: [
196
- f && /* @__PURE__ */ p(
197
- M.span,
202
+ f && /* @__PURE__ */ m(
203
+ $.span,
198
204
  {
199
- layoutId: w,
205
+ layoutId: g,
200
206
  "aria-hidden": !0,
201
- transition: U,
207
+ transition: M,
202
208
  className: b(
203
209
  "absolute bg-action-primary",
204
210
  h === "horizontal" ? "left-0 right-0 bottom-0 h-0.5" : "top-0 bottom-0 right-0 w-0.5"
@@ -206,7 +212,7 @@ const H = L(
206
212
  }
207
213
  ),
208
214
  /* @__PURE__ */ E("span", { className: "relative inline-flex items-center gap-1", children: [
209
- y,
215
+ w,
210
216
  a != null && /* @__PURE__ */ E(
211
217
  "span",
212
218
  {
@@ -230,7 +236,7 @@ O.displayName = "Tab";
230
236
  const q = r.forwardRef(
231
237
  ({ className: o, ...e }, t) => {
232
238
  const { orientation: a } = z("TabSeparator");
233
- return /* @__PURE__ */ p(
239
+ return /* @__PURE__ */ m(
234
240
  "span",
235
241
  {
236
242
  ref: t,
@@ -248,15 +254,15 @@ const q = r.forwardRef(
248
254
  );
249
255
  q.displayName = "TabSeparator";
250
256
  const F = r.forwardRef(
251
- ({ className: o, value: e, children: t, ...a }, y) => {
252
- const { value: c, baseId: m } = z("TabPanel");
253
- return c !== e ? null : /* @__PURE__ */ p(
257
+ ({ className: o, value: e, children: t, ...a }, w) => {
258
+ const { value: c, baseId: p } = z("TabPanel");
259
+ return c !== e ? null : /* @__PURE__ */ m(
254
260
  "div",
255
261
  {
256
- ref: y,
262
+ ref: w,
257
263
  role: "tabpanel",
258
- id: N(m, "panel", e),
259
- "aria-labelledby": N(m, "tab", e),
264
+ id: N(p, "panel", e),
265
+ "aria-labelledby": N(p, "tab", e),
260
266
  tabIndex: 0,
261
267
  className: b(
262
268
  "flex-1 outline-none focus-visible:ring-3 focus-visible:ring-ring rounded-sm",
@@ -274,5 +280,5 @@ export {
274
280
  B as TabList,
275
281
  F as TabPanel,
276
282
  q as TabSeparator,
277
- _ as Tabs
283
+ U as Tabs
278
284
  };
@@ -10,7 +10,7 @@ const p = l.forwardRef(
10
10
  {
11
11
  ref: r,
12
12
  className: e(
13
- "relative pb-4 pl-6 last:pb-0 last:[&_.ads-timeline-line]:hidden",
13
+ "relative pb-6 pl-6 last:pb-0 last:[&_.ads-timeline-line]:hidden",
14
14
  a
15
15
  ),
16
16
  ...m,
@@ -20,7 +20,7 @@ const p = l.forwardRef(
20
20
  {
21
21
  "aria-hidden": !0,
22
22
  className: e(
23
- "ads-timeline-line absolute bottom-0 left-1.5 top-5 w-px bg-border",
23
+ "ads-timeline-line absolute -bottom-0.5 left-1.5 top-4.5 w-px bg-border",
24
24
  s
25
25
  )
26
26
  }
@@ -30,7 +30,7 @@ const p = l.forwardRef(
30
30
  {
31
31
  "aria-hidden": !0,
32
32
  className: e(
33
- "absolute left-0.5 top-4 size-2 rounded-dot bg-muted-foreground",
33
+ "absolute left-0.5 top-1.5 size-2 rounded-dot bg-muted-foreground",
34
34
  i
35
35
  )
36
36
  }
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { jsxs as T, jsx as c } from "react/jsx-runtime";
3
- import * as r from "react";
3
+ import * as o from "react";
4
4
  import { createPortal as B } from "react-dom";
5
5
  import { MotionConfig as V, AnimatePresence as q, motion as G } from "motion/react";
6
6
  import { WarningCircle as J, Warning as K, Info as E, CheckCircle as Q, Close as U } from "../lib/icons.js";
@@ -9,15 +9,15 @@ import { springOverlay as z } from "../lib/motion.js";
9
9
  import { Ripple as X } from "./ripple.js";
10
10
  import { Button as Y } from "./button.js";
11
11
  import { Spinner as Z } from "./spinner.js";
12
- const R = r.createContext(null);
12
+ const R = o.createContext(null);
13
13
  function fe() {
14
- const v = r.useContext(R);
14
+ const v = o.useContext(R);
15
15
  if (!v)
16
16
  throw new Error("useToast must be used within a <ToastProvider>.");
17
17
  const { push: l, close: g, clear: d } = v;
18
- return { toast: r.useMemo(() => {
18
+ return { toast: o.useMemo(() => {
19
19
  const u = ((s, a) => {
20
- if (s !== null && typeof s == "object" && !r.isValidElement(s)) {
20
+ if (s !== null && typeof s == "object" && !o.isValidElement(s)) {
21
21
  const { title: i, ...h } = s;
22
22
  return l(i, { ...h, ...a });
23
23
  }
@@ -59,53 +59,53 @@ function he({
59
59
  maxVisible: g = 3
60
60
  }) {
61
61
  var M;
62
- const [d, w] = r.useState([]), [u, f] = r.useState(/* @__PURE__ */ new Set()), s = r.useRef(/* @__PURE__ */ new Map()), a = r.useRef(/* @__PURE__ */ new Map()), i = r.useCallback((e) => {
63
- w((o) => o.filter((m) => m.id !== e));
62
+ const [d, w] = o.useState([]), [u, f] = o.useState(/* @__PURE__ */ new Set()), s = o.useRef(/* @__PURE__ */ new Map()), a = o.useRef(/* @__PURE__ */ new Map()), i = o.useCallback((e) => {
63
+ w((r) => r.filter((m) => m.id !== e));
64
64
  const t = s.current.get(e);
65
- t != null && t.handle && clearTimeout(t.handle), s.current.delete(e), f((o) => {
66
- if (!o.has(e)) return o;
67
- const m = new Set(o);
65
+ t != null && t.handle && clearTimeout(t.handle), s.current.delete(e), f((r) => {
66
+ if (!r.has(e)) return r;
67
+ const m = new Set(r);
68
68
  return m.delete(e), m;
69
69
  });
70
70
  const n = a.current.get(e);
71
71
  a.current.delete(e), n == null || n();
72
- }, []), h = r.useCallback(() => {
72
+ }, []), h = o.useCallback(() => {
73
73
  f(/* @__PURE__ */ new Set()), w((e) => (e.forEach((t) => {
74
- var o;
74
+ var r;
75
75
  const n = s.current.get(t.id);
76
- n != null && n.handle && clearTimeout(n.handle), s.current.delete(t.id), (o = a.current.get(t.id)) == null || o(), a.current.delete(t.id);
76
+ n != null && n.handle && clearTimeout(n.handle), s.current.delete(t.id), (r = a.current.get(t.id)) == null || r(), a.current.delete(t.id);
77
77
  }), []));
78
- }, []), k = r.useCallback(
78
+ }, []), P = o.useCallback(
79
79
  (e, t = {}) => {
80
- const n = Math.random().toString(36).slice(2), o = t.timeout ?? t.duration ?? (t.isLoading ? 0 : 5e3), m = {
80
+ const n = Math.random().toString(36).slice(2), r = t.timeout ?? t.duration ?? (t.isLoading ? 0 : 5e3), m = {
81
81
  variant: "default",
82
82
  ...t,
83
83
  id: n,
84
84
  title: e,
85
- dismissAfter: o
85
+ dismissAfter: r
86
86
  };
87
- return w((b) => [...b, m]), a.current.set(n, t.onClose), o > 0 && s.current.set(n, {
88
- handle: setTimeout(() => i(n), o),
89
- remaining: o,
87
+ return w((b) => [...b, m]), a.current.set(n, t.onClose), r > 0 && s.current.set(n, {
88
+ handle: setTimeout(() => i(n), r),
89
+ remaining: r,
90
90
  startedAt: Date.now()
91
91
  }), n;
92
92
  },
93
93
  [i]
94
- ), I = r.useCallback((e) => {
94
+ ), I = o.useCallback((e) => {
95
95
  const t = s.current.get(e);
96
96
  t != null && t.handle && (clearTimeout(t.handle), t.remaining = Math.max(0, t.remaining - (Date.now() - t.startedAt)), t.handle = null, f((n) => {
97
97
  if (n.has(e)) return n;
98
- const o = new Set(n);
99
- return o.add(e), o;
98
+ const r = new Set(n);
99
+ return r.add(e), r;
100
100
  }));
101
- }, []), L = r.useCallback(
101
+ }, []), L = o.useCallback(
102
102
  (e) => {
103
103
  const t = s.current.get(e);
104
104
  if (!(!t || t.handle)) {
105
105
  if (f((n) => {
106
106
  if (!n.has(e)) return n;
107
- const o = new Set(n);
108
- return o.delete(e), o;
107
+ const r = new Set(n);
108
+ return r.delete(e), r;
109
109
  }), t.remaining <= 0) {
110
110
  i(e);
111
111
  return;
@@ -115,7 +115,7 @@ function he({
115
115
  },
116
116
  [i]
117
117
  );
118
- r.useEffect(() => {
118
+ o.useEffect(() => {
119
119
  const e = s.current;
120
120
  return () => {
121
121
  e.forEach((t) => {
@@ -123,16 +123,16 @@ function he({
123
123
  }), e.clear();
124
124
  };
125
125
  }, []);
126
- const j = r.useMemo(() => ({ push: k, close: i, clear: h }), [k, i, h]), [H, $] = r.useState(!1);
127
- r.useEffect(() => $(!0), []);
128
- const [y, P] = r.useState(null), S = r.useRef(null), D = (M = d[d.length - 1]) == null ? void 0 : M.id;
129
- r.useLayoutEffect(() => {
130
- const e = S.current;
126
+ const j = o.useMemo(() => ({ push: P, close: i, clear: h }), [P, i, h]), [H, $] = o.useState(!1);
127
+ o.useEffect(() => $(!0), []);
128
+ const [y, S] = o.useState(null), k = o.useRef(null), D = (M = d[d.length - 1]) == null ? void 0 : M.id;
129
+ o.useLayoutEffect(() => {
130
+ const e = k.current;
131
131
  if (!e) {
132
- P(null);
132
+ S(null);
133
133
  return;
134
134
  }
135
- const t = () => P(e.offsetHeight);
135
+ const t = () => S(e.offsetHeight);
136
136
  t();
137
137
  const n = new ResizeObserver(t);
138
138
  return n.observe(e), () => n.disconnect();
@@ -152,11 +152,11 @@ function he({
152
152
  role: "region",
153
153
  "aria-label": "Notifications",
154
154
  children: /* @__PURE__ */ c(V, { reducedMotion: "user", children: /* @__PURE__ */ c(q, { children: d.map((e, t) => {
155
- const n = d.length - 1 - t, o = n === 0, m = n >= g, b = ee[e.variant ?? "default"], F = b.icon;
155
+ const n = d.length - 1 - t, r = n === 0, m = n >= g, b = ee[e.variant ?? "default"], F = b.icon;
156
156
  return /* @__PURE__ */ T(
157
157
  G.div,
158
158
  {
159
- ref: o ? S : void 0,
159
+ ref: r ? k : void 0,
160
160
  layout: !1,
161
161
  role: "status",
162
162
  "aria-live": "polite",
@@ -179,39 +179,36 @@ function he({
179
179
  className: p(
180
180
  "group/toast absolute inset-x-0 flex items-start gap-1.5",
181
181
  x ? "top-0" : "bottom-0",
182
- "rounded-2xl border border-toast-stroke bg-elevated px-4 py-3 shadow-300",
183
- o ? "pointer-events-auto" : "pointer-events-none overflow-hidden"
182
+ "rounded-2xl bg-elevated px-4 py-3 shadow-float",
183
+ r ? "pointer-events-auto" : "pointer-events-none overflow-hidden"
184
184
  ),
185
185
  style: {
186
186
  zIndex: 100 - n,
187
187
  // Behind layers freeze at the front card's height so
188
188
  // only their top edge shows as a clean sliver.
189
- height: !o && y != null ? y : void 0
189
+ height: !r && y != null ? y : void 0
190
190
  },
191
191
  children: [
192
192
  /* @__PURE__ */ c(X, { origin: x ? "top" : "bottom" }),
193
- e.dismissAfter > 0 && // The countdown reads as the card's bottom bar stroke:
194
- // a full-bleed edge bar clipped by the card's radius,
195
- // not an inset line element floating inside the toast.
196
- /* @__PURE__ */ T(
193
+ e.dismissAfter > 0 && // The toast has no border (the float shadow's hairline
194
+ // edges it), and the countdown has no grey track: only
195
+ // the thin tone-coloured bar, clipped by the radius.
196
+ /* @__PURE__ */ c(
197
197
  "span",
198
198
  {
199
199
  "aria-hidden": !0,
200
200
  className: "pointer-events-none absolute inset-0 overflow-hidden rounded-2xl",
201
- children: [
202
- /* @__PURE__ */ c("span", { className: "absolute inset-x-0 bottom-0 h-0.5 bg-toast-stroke" }),
203
- /* @__PURE__ */ c(
204
- "span",
205
- {
206
- "data-toast-progress": !0,
207
- className: p("absolute inset-x-0 bottom-0 block h-0.5 origin-left", b.progress),
208
- style: {
209
- animation: `ads-toast-progress ${e.dismissAfter}ms linear forwards`,
210
- animationPlayState: u.has(e.id) ? "paused" : "running"
211
- }
201
+ children: /* @__PURE__ */ c(
202
+ "span",
203
+ {
204
+ "data-toast-progress": !0,
205
+ className: p("absolute inset-x-0 bottom-0 block h-0.5 origin-left", b.progress),
206
+ style: {
207
+ animation: `ads-toast-progress ${e.dismissAfter}ms linear forwards`,
208
+ animationPlayState: u.has(e.id) ? "paused" : "running"
212
209
  }
213
- )
214
- ]
210
+ }
211
+ )
215
212
  }
216
213
  ),
217
214
  /* @__PURE__ */ c(
@@ -249,7 +246,7 @@ function he({
249
246
  "aria-label": "Dismiss",
250
247
  className: p(
251
248
  "absolute -right-1 -top-1 inline-flex size-5 items-center justify-center",
252
- "rounded-full border border-border bg-elevated text-muted-foreground shadow-elevation",
249
+ "rounded-full border border-border bg-elevated text-muted-foreground",
253
250
  "opacity-0 transition-opacity duration-150 ease-out",
254
251
  "group-hover/toast:opacity-100 focus-visible:opacity-100",
255
252
  "hover:bg-muted hover:text-foreground",
@@ -10,10 +10,10 @@ const u = a(
10
10
  variant: {
11
11
  default: "bg-action-primary text-action-primary-foreground hover:bg-action-primary-hover",
12
12
  destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:ring-destructive/20",
13
- outline: "border bg-background shadow-100 hover:border-action-primary hover:bg-action-primary-soft hover:text-action-primary-text",
13
+ outline: "border bg-background hover:border-action-primary hover:bg-action-primary-soft hover:text-action-primary-text",
14
14
  secondary: "bg-action-primary-soft text-action-primary-text hover:bg-action-primary-soft/80",
15
15
  ghost: "hover:bg-action-primary-soft hover:text-action-primary-text",
16
- link: "text-action-primary-text underline-offset-4 hover:underline"
16
+ link: "text-action-primary-text"
17
17
  },
18
18
  size: {
19
19
  default: "h-9 px-4 py-2 has-[>svg]:px-3",
@@ -32,7 +32,7 @@ const u = a(
32
32
  }
33
33
  }
34
34
  );
35
- function g({
35
+ function l({
36
36
  className: r,
37
37
  variant: t = "default",
38
38
  size: e = "default",
@@ -52,6 +52,6 @@ function g({
52
52
  );
53
53
  }
54
54
  export {
55
- g as Button,
55
+ l as Button,
56
56
  u as buttonVariants
57
57
  };
@@ -84,7 +84,7 @@ function V({
84
84
  animate: "visible",
85
85
  exit: "hidden",
86
86
  className: u(
87
- "pointer-events-auto relative flex max-h-[calc(100dvh-2rem)] w-full max-w-[38.75rem] flex-col overflow-hidden rounded-xl bg-elevated text-foreground shadow-400 outline-none max-sm:max-h-[calc(100dvh-1rem)] max-sm:rounded-lg",
87
+ "pointer-events-auto relative flex max-h-[calc(100dvh-2rem)] w-full max-w-[38.75rem] flex-col overflow-hidden rounded-xl bg-elevated text-foreground shadow-overlay outline-none max-sm:max-h-[calc(100dvh-1rem)] max-sm:rounded-lg",
88
88
  t
89
89
  ),
90
90
  children: [