@actioneer/ads 1.0.7 → 1.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DESIGN.md +119 -91
- package/README.md +19 -1
- package/components/ai-elements/chart.js +20 -20
- package/components/ai-elements/inline-citation.js +50 -50
- package/components/ai-elements/message.js +1 -1
- package/components/ai-elements/tool.js +5 -5
- package/components/alert.d.ts +3 -2
- package/components/alert.js +25 -25
- package/components/answer.js +1 -1
- package/components/assistant-ui/action-bar.js +1 -1
- package/components/assistant-ui/attachment.js +68 -49
- package/components/assistant-ui/composer-add-context.js +1 -1
- package/components/assistant-ui/composer-harness.js +5 -4
- package/components/assistant-ui/composer-trigger-popover.js +1 -1
- package/components/assistant-ui/composer.js +13 -13
- package/components/assistant-ui/message-timing.js +6 -6
- package/components/assistant-ui/selection-toolbar.js +5 -5
- package/components/assistant-ui/sources.js +15 -15
- package/components/assistant-ui/tooltip-icon-button.js +18 -14
- package/components/audio-waveform.d.ts +21 -8
- package/components/audio-waveform.js +371 -94
- package/components/autocomplete.js +9 -9
- package/components/breadcrumbs.js +36 -42
- package/components/button.d.ts +16 -1
- package/components/button.js +86 -73
- package/components/card.js +1 -1
- package/components/chart.d.ts +31 -4
- package/components/chart.js +900 -666
- package/components/chip.d.ts +2 -1
- package/components/chip.js +56 -51
- package/components/command-palette.js +12 -12
- package/components/connector-card.d.ts +1 -2
- package/components/connector-card.js +17 -17
- package/components/date-range-picker.js +1 -2
- package/components/drawer.js +9 -10
- package/components/dropdown.js +1 -1
- package/components/empty-state.d.ts +2 -0
- package/components/empty-state.js +17 -15
- package/components/field.js +9 -10
- package/components/file-dropzone.d.ts +6 -3
- package/components/file-dropzone.js +72 -60
- package/components/filters.d.ts +37 -0
- package/components/filters.js +129 -0
- package/components/index.d.ts +1 -0
- package/components/index.js +447 -444
- package/components/infinite-canvas.js +9 -9
- package/components/modal.d.ts +2 -1
- package/components/modal.js +102 -91
- package/components/page-body.js +8 -8
- package/components/popover.d.ts +6 -1
- package/components/popover.js +75 -65
- package/components/progress-circle.d.ts +1 -1
- package/components/progress-circle.js +57 -48
- package/components/segmented.d.ts +1 -0
- package/components/segmented.js +34 -36
- package/components/select.js +2 -2
- package/components/selection-action-bar.js +32 -31
- package/components/setting-row.js +10 -10
- package/components/sidebar.d.ts +15 -0
- package/components/sidebar.js +186 -149
- package/components/slider.js +5 -5
- package/components/stepper.d.ts +1 -1
- package/components/stepper.js +1 -1
- package/components/switch.js +10 -10
- package/components/table.d.ts +10 -2
- package/components/table.js +380 -366
- package/components/tabs.d.ts +6 -1
- package/components/tabs.js +32 -29
- package/components/timeline.js +3 -3
- package/components/toast.js +53 -56
- package/components/ui/button.js +4 -4
- package/components/ui/dialog.js +1 -1
- package/components/viz-charts.js +263 -221
- package/demo/components/add-to-artifact.js +3 -2
- package/examples/README.md +31 -0
- package/examples/agents-screen.tsx +477 -0
- package/examples/campaign-analysis-screen.tsx +138 -0
- package/examples/campaigns-screen.tsx +439 -0
- package/examples/settings-screen.tsx +90 -0
- package/examples/workspace-header.tsx +71 -0
- package/lib/icons.d.ts +8 -0
- package/lib/icons.js +171 -118
- package/llms.txt +93 -29
- package/manifest.json +1660 -113
- package/package.json +1 -1
- package/styles.css +55 -68
- package/theme.css +50 -59
package/components/tabs.d.ts
CHANGED
|
@@ -19,7 +19,12 @@ export declare const TabList: React.ForwardRefExoticComponent<TabListProps & Rea
|
|
|
19
19
|
export interface TabProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
20
20
|
value: string;
|
|
21
21
|
isDisabled?: boolean;
|
|
22
|
-
/**
|
|
22
|
+
/**
|
|
23
|
+
* Optional trailing count (e.g. a filter's match count), rendered as the bare
|
|
24
|
+
* number 6px after the label. It stays quieter than the label: Regular
|
|
25
|
+
* weight and tabular figures in every state, tertiary grey when inactive and
|
|
26
|
+
* the primary-action teal when active.
|
|
27
|
+
*/
|
|
23
28
|
count?: number;
|
|
24
29
|
}
|
|
25
30
|
export declare const Tab: React.ForwardRefExoticComponent<TabProps & React.RefAttributes<HTMLButtonElement>>;
|
package/components/tabs.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as p, jsxs as E } from "react/jsx-runtime";
|
|
3
3
|
import * as r from "react";
|
|
4
|
-
import { MotionConfig as
|
|
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
|
|
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,19 +12,19 @@ function z(o) {
|
|
|
12
12
|
throw new Error(`<${o}> must be used within <Tabs>`);
|
|
13
13
|
return e;
|
|
14
14
|
}
|
|
15
|
-
const
|
|
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:
|
|
21
|
+
variant: g,
|
|
22
22
|
orientation: c = "horizontal",
|
|
23
23
|
size: m,
|
|
24
24
|
children: R,
|
|
25
25
|
...A
|
|
26
26
|
}, k) => {
|
|
27
|
-
const x = e !== void 0, [
|
|
27
|
+
const x = e !== void 0, [y, v] = r.useState(t), T = r.useId().replaceAll(":", ""), d = r.useId(), w = 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
|
},
|
|
@@ -63,16 +63,22 @@ const _ = r.forwardRef(
|
|
|
63
63
|
o
|
|
64
64
|
),
|
|
65
65
|
...A,
|
|
66
|
-
children: /* @__PURE__ */ p(
|
|
66
|
+
children: /* @__PURE__ */ p(j, { reducedMotion: "user", children: R })
|
|
67
67
|
}
|
|
68
68
|
) });
|
|
69
69
|
}
|
|
70
70
|
);
|
|
71
|
-
|
|
72
|
-
const C = L("inline-flex text-
|
|
71
|
+
U.displayName = "Tabs";
|
|
72
|
+
const C = L("inline-flex text-m", {
|
|
73
73
|
variants: {
|
|
74
74
|
orientation: {
|
|
75
|
-
horizontal:
|
|
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
|
},
|
|
@@ -121,11 +127,11 @@ const H = L(
|
|
|
121
127
|
}
|
|
122
128
|
}
|
|
123
129
|
), O = r.forwardRef(
|
|
124
|
-
({ className: o, value: e, isDisabled: t, count: a, children:
|
|
130
|
+
({ className: o, value: e, isDisabled: t, count: a, children: g, onClick: c, onKeyDown: m, ...R }, A) => {
|
|
125
131
|
const {
|
|
126
132
|
value: k,
|
|
127
133
|
setValue: x,
|
|
128
|
-
baseId:
|
|
134
|
+
baseId: y,
|
|
129
135
|
registerTab: v,
|
|
130
136
|
tabs: T,
|
|
131
137
|
disabled: d,
|
|
@@ -141,14 +147,14 @@ const H = L(
|
|
|
141
147
|
if (m == null || m(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"],
|
|
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 (
|
|
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(
|
|
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(
|
|
185
|
+
id: N(y, "tab", e),
|
|
180
186
|
"aria-selected": f,
|
|
181
187
|
"aria-disabled": t || void 0,
|
|
182
188
|
disabled: t,
|
|
@@ -194,30 +200,27 @@ const H = L(
|
|
|
194
200
|
...R,
|
|
195
201
|
children: [
|
|
196
202
|
f && /* @__PURE__ */ p(
|
|
197
|
-
|
|
203
|
+
$.span,
|
|
198
204
|
{
|
|
199
205
|
layoutId: w,
|
|
200
206
|
"aria-hidden": !0,
|
|
201
|
-
transition:
|
|
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"
|
|
205
211
|
)
|
|
206
212
|
}
|
|
207
213
|
),
|
|
208
|
-
/* @__PURE__ */ E("span", { className: "relative inline-flex items-center gap-1", children: [
|
|
209
|
-
|
|
210
|
-
a != null && /* @__PURE__ */
|
|
214
|
+
/* @__PURE__ */ E("span", { className: "relative inline-flex items-center gap-1.5", children: [
|
|
215
|
+
g,
|
|
216
|
+
a != null && /* @__PURE__ */ p(
|
|
211
217
|
"span",
|
|
212
218
|
{
|
|
213
219
|
className: b(
|
|
214
|
-
"tabular-nums",
|
|
215
|
-
f ? "text-action-primary-text" : "text-
|
|
220
|
+
"font-normal tabular-nums",
|
|
221
|
+
f ? "text-action-primary-text" : "text-on-white-tertiary"
|
|
216
222
|
),
|
|
217
|
-
children:
|
|
218
|
-
"· ",
|
|
219
|
-
a
|
|
220
|
-
]
|
|
223
|
+
children: a
|
|
221
224
|
}
|
|
222
225
|
)
|
|
223
226
|
] })
|
|
@@ -248,12 +251,12 @@ const q = r.forwardRef(
|
|
|
248
251
|
);
|
|
249
252
|
q.displayName = "TabSeparator";
|
|
250
253
|
const F = r.forwardRef(
|
|
251
|
-
({ className: o, value: e, children: t, ...a },
|
|
254
|
+
({ className: o, value: e, children: t, ...a }, g) => {
|
|
252
255
|
const { value: c, baseId: m } = z("TabPanel");
|
|
253
256
|
return c !== e ? null : /* @__PURE__ */ p(
|
|
254
257
|
"div",
|
|
255
258
|
{
|
|
256
|
-
ref:
|
|
259
|
+
ref: g,
|
|
257
260
|
role: "tabpanel",
|
|
258
261
|
id: N(m, "panel", e),
|
|
259
262
|
"aria-labelledby": N(m, "tab", e),
|
|
@@ -274,5 +277,5 @@ export {
|
|
|
274
277
|
B as TabList,
|
|
275
278
|
F as TabPanel,
|
|
276
279
|
q as TabSeparator,
|
|
277
|
-
|
|
280
|
+
U as Tabs
|
|
278
281
|
};
|
package/components/timeline.js
CHANGED
|
@@ -10,7 +10,7 @@ const p = l.forwardRef(
|
|
|
10
10
|
{
|
|
11
11
|
ref: r,
|
|
12
12
|
className: e(
|
|
13
|
-
"relative pb-
|
|
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-
|
|
33
|
+
"absolute left-0.5 top-1.5 size-2 rounded-dot bg-muted-foreground",
|
|
34
34
|
i
|
|
35
35
|
)
|
|
36
36
|
}
|
package/components/toast.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsxs as T, jsx as c } from "react/jsx-runtime";
|
|
3
|
-
import * as
|
|
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 =
|
|
12
|
+
const R = o.createContext(null);
|
|
13
13
|
function fe() {
|
|
14
|
-
const v =
|
|
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:
|
|
18
|
+
return { toast: o.useMemo(() => {
|
|
19
19
|
const u = ((s, a) => {
|
|
20
|
-
if (s !== null && typeof s == "object" && !
|
|
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] =
|
|
63
|
-
w((
|
|
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((
|
|
66
|
-
if (!
|
|
67
|
-
const m = new Set(
|
|
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 =
|
|
72
|
+
}, []), h = o.useCallback(() => {
|
|
73
73
|
f(/* @__PURE__ */ new Set()), w((e) => (e.forEach((t) => {
|
|
74
|
-
var
|
|
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), (
|
|
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
|
-
}, []),
|
|
78
|
+
}, []), P = o.useCallback(
|
|
79
79
|
(e, t = {}) => {
|
|
80
|
-
const n = Math.random().toString(36).slice(2),
|
|
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:
|
|
85
|
+
dismissAfter: r
|
|
86
86
|
};
|
|
87
|
-
return w((b) => [...b, m]), a.current.set(n, t.onClose),
|
|
88
|
-
handle: setTimeout(() => i(n),
|
|
89
|
-
remaining:
|
|
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 =
|
|
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
|
|
99
|
-
return
|
|
98
|
+
const r = new Set(n);
|
|
99
|
+
return r.add(e), r;
|
|
100
100
|
}));
|
|
101
|
-
}, []), L =
|
|
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
|
|
108
|
-
return
|
|
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
|
-
|
|
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 =
|
|
127
|
-
|
|
128
|
-
const [y,
|
|
129
|
-
|
|
130
|
-
const e =
|
|
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
|
-
|
|
132
|
+
S(null);
|
|
133
133
|
return;
|
|
134
134
|
}
|
|
135
|
-
const t = () =>
|
|
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,
|
|
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:
|
|
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
|
|
183
|
-
|
|
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: !
|
|
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
|
|
194
|
-
//
|
|
195
|
-
//
|
|
196
|
-
/* @__PURE__ */
|
|
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
|
-
|
|
203
|
-
|
|
204
|
-
"
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
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
|
|
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",
|
package/components/ui/button.js
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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
|
-
|
|
55
|
+
l as Button,
|
|
56
56
|
u as buttonVariants
|
|
57
57
|
};
|
package/components/ui/dialog.js
CHANGED
|
@@ -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-
|
|
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: [
|