@timbal-ai/timbal-react 1.5.0 → 1.6.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.
- package/CHANGELOG.md +17 -1
- package/README.md +25 -0
- package/dist/app.cjs +855 -640
- package/dist/app.d.cts +4 -4
- package/dist/app.d.ts +4 -4
- package/dist/app.esm.js +6 -6
- package/dist/{chart-artifact-2OTDTRwM.d.ts → chart-artifact-C2pZQsaP.d.ts} +81 -29
- package/dist/{chart-artifact-CS3qyGIY.d.cts → chart-artifact-VAqgH-My.d.cts} +81 -29
- package/dist/{chat-ClmzWzCX.d.cts → chat-DDsp-Vzz.d.cts} +1 -1
- package/dist/{chat-ClmzWzCX.d.ts → chat-DDsp-Vzz.d.ts} +1 -1
- package/dist/chat.cjs +26 -26
- package/dist/chat.d.cts +3 -3
- package/dist/chat.d.ts +3 -3
- package/dist/chat.esm.js +3 -3
- package/dist/{chunk-TZI3ID3C.esm.js → chunk-24B4I4XC.esm.js} +3 -3
- package/dist/{chunk-SZDYIRMB.esm.js → chunk-6SQMTBPL.esm.js} +618 -530
- package/dist/{chunk-QIABF4KB.esm.js → chunk-ELEY66OH.esm.js} +2 -2
- package/dist/{chunk-WMKPT5BV.esm.js → chunk-HSL36SJ4.esm.js} +6 -6
- package/dist/chunk-JJOO4PR5.esm.js +391 -0
- package/dist/{chunk-AZL2WANO.esm.js → chunk-MBS7XHV2.esm.js} +28 -28
- package/dist/{chunk-5ECRZ5O7.esm.js → chunk-NO5AWNWT.esm.js} +224 -57
- package/dist/{chunk-ZNYAETFD.esm.js → chunk-R4RQT2XQ.esm.js} +2 -2
- package/dist/{chunk-JYDJRGDE.esm.js → chunk-TMP7RIA7.esm.js} +2 -2
- package/dist/{chunk-IGHBLJV3.esm.js → chunk-WQIQW7EM.esm.js} +3 -2
- package/dist/{chunk-B4XAC4G7.esm.js → chunk-YYEI6XME.esm.js} +361 -527
- package/dist/{circular-progress-CDsJwIPF.d.cts → circular-progress-B9nnwzCu.d.cts} +1 -1
- package/dist/{circular-progress-CDsJwIPF.d.ts → circular-progress-B9nnwzCu.d.ts} +1 -1
- package/dist/index.cjs +1327 -852
- package/dist/index.d.cts +9 -8
- package/dist/index.d.ts +9 -8
- package/dist/index.esm.js +40 -20
- package/dist/{kanban-U5xNe9py.d.cts → kanban-FFBeaZPS.d.cts} +4 -4
- package/dist/{kanban-U5xNe9py.d.ts → kanban-FFBeaZPS.d.ts} +4 -4
- package/dist/{layout-B8r6Jbat.d.ts → layout-CuKeSY74.d.ts} +1 -1
- package/dist/{layout-Cu7Ijn04.d.cts → layout-PzVwkJyL.d.cts} +1 -1
- package/dist/site.cjs +71 -0
- package/dist/site.d.cts +15 -1
- package/dist/site.d.ts +15 -1
- package/dist/site.esm.js +12 -311
- package/dist/studio.cjs +31 -31
- package/dist/studio.d.cts +2 -2
- package/dist/studio.d.ts +2 -2
- package/dist/studio.esm.js +7 -7
- package/dist/{timbal-v2-button-B7vPs7gg.d.ts → timbal-v2-button-DCAZNyUx.d.cts} +1 -1
- package/dist/{timbal-v2-button-B7vPs7gg.d.cts → timbal-v2-button-DCAZNyUx.d.ts} +1 -1
- package/dist/ui.cjs +77 -77
- package/dist/ui.d.cts +3 -3
- package/dist/ui.d.ts +3 -3
- package/dist/ui.esm.js +15 -15
- package/dist/{welcome-NXZlcihe.d.cts → welcome-B00oH5Io.d.cts} +1 -1
- package/dist/{welcome-DduQAC4K.d.ts → welcome-DU-4NTjZ.d.ts} +1 -1
- package/package.json +1 -1
package/dist/site.esm.js
CHANGED
|
@@ -1,315 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
/** Symmetric in-out for loops and continuous motion. */
|
|
14
|
-
inOut: [0.65, 0, 0.35, 1],
|
|
15
|
-
/** Gentle in-out, good for parallax / large translations. */
|
|
16
|
-
soft: [0.4, 0, 0.2, 1]
|
|
17
|
-
};
|
|
18
|
-
var DURATION = {
|
|
19
|
-
fast: 0.4,
|
|
20
|
-
base: 0.7,
|
|
21
|
-
slow: 1.1
|
|
22
|
-
};
|
|
23
|
-
var SPRING = {
|
|
24
|
-
/** Tight, responsive follow. */
|
|
25
|
-
snappy: { stiffness: 350, damping: 30, mass: 0.4 },
|
|
26
|
-
/** Looser, more elastic follow. */
|
|
27
|
-
smooth: { stiffness: 150, damping: 20, mass: 0.6 }
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
// src/site/Reveal.tsx
|
|
31
|
-
import { jsx } from "react/jsx-runtime";
|
|
32
|
-
function hidden(variant, distance) {
|
|
33
|
-
switch (variant) {
|
|
34
|
-
case "fade":
|
|
35
|
-
return { opacity: 0 };
|
|
36
|
-
case "fade-up":
|
|
37
|
-
return { opacity: 0, y: distance };
|
|
38
|
-
case "fade-down":
|
|
39
|
-
return { opacity: 0, y: -distance };
|
|
40
|
-
case "fade-left":
|
|
41
|
-
return { opacity: 0, x: distance };
|
|
42
|
-
case "fade-right":
|
|
43
|
-
return { opacity: 0, x: -distance };
|
|
44
|
-
case "blur":
|
|
45
|
-
return { opacity: 0, filter: "blur(12px)" };
|
|
46
|
-
case "scale":
|
|
47
|
-
return { opacity: 0, scale: 0.94 };
|
|
48
|
-
case "mask-up":
|
|
49
|
-
return { y: "110%" };
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
function shown(variant) {
|
|
53
|
-
if (variant === "mask-up") return { y: "0%" };
|
|
54
|
-
if (variant === "blur") return { opacity: 1, filter: "blur(0px)" };
|
|
55
|
-
if (variant === "scale") return { opacity: 1, scale: 1 };
|
|
56
|
-
return { opacity: 1, x: 0, y: 0 };
|
|
57
|
-
}
|
|
58
|
-
var Reveal = React.forwardRef(function Reveal2({
|
|
59
|
-
variant = "fade-up",
|
|
60
|
-
delay = 0,
|
|
61
|
-
duration = DURATION.base,
|
|
62
|
-
distance = 28,
|
|
63
|
-
amount = 0.3,
|
|
64
|
-
repeat = false,
|
|
65
|
-
as = "div",
|
|
66
|
-
className,
|
|
67
|
-
children,
|
|
68
|
-
...rest
|
|
69
|
-
}, ref) {
|
|
70
|
-
const reduce = useReducedMotion();
|
|
71
|
-
const isMask = variant === "mask-up";
|
|
72
|
-
if (reduce) {
|
|
73
|
-
const Tag = as;
|
|
74
|
-
return /* @__PURE__ */ jsx(Tag, { ref, className: cn(isMask && "overflow-hidden", className), ...rest, children });
|
|
75
|
-
}
|
|
76
|
-
const variants = {
|
|
77
|
-
hidden: hidden(variant, distance),
|
|
78
|
-
shown: shown(variant)
|
|
79
|
-
};
|
|
80
|
-
const MotionTag = motion[as] ?? motion.div;
|
|
81
|
-
const inner = /* @__PURE__ */ jsx(
|
|
82
|
-
MotionTag,
|
|
83
|
-
{
|
|
84
|
-
ref,
|
|
85
|
-
className,
|
|
86
|
-
variants,
|
|
87
|
-
initial: "hidden",
|
|
88
|
-
whileInView: "shown",
|
|
89
|
-
viewport: { once: !repeat, amount },
|
|
90
|
-
transition: { duration, delay, ease: EASE.out },
|
|
91
|
-
...rest,
|
|
92
|
-
children
|
|
93
|
-
}
|
|
94
|
-
);
|
|
95
|
-
if (isMask) {
|
|
96
|
-
return /* @__PURE__ */ jsx("span", { className: "block overflow-hidden", children: inner });
|
|
97
|
-
}
|
|
98
|
-
return inner;
|
|
99
|
-
});
|
|
100
|
-
|
|
101
|
-
// src/site/TextReveal.tsx
|
|
102
|
-
import * as React2 from "react";
|
|
103
|
-
import { motion as motion2, useReducedMotion as useReducedMotion2 } from "motion/react";
|
|
104
|
-
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
105
|
-
var tokenVariants = {
|
|
106
|
-
hidden: { y: "115%" },
|
|
107
|
-
shown: { y: "0%" }
|
|
108
|
-
};
|
|
109
|
-
function TextReveal({
|
|
110
|
-
children,
|
|
111
|
-
splitBy = "words",
|
|
112
|
-
stagger = 0.06,
|
|
113
|
-
delay = 0,
|
|
114
|
-
duration = DURATION.base,
|
|
115
|
-
repeat = false,
|
|
116
|
-
amount = 0.4,
|
|
117
|
-
as = "span",
|
|
118
|
-
className,
|
|
119
|
-
...rest
|
|
120
|
-
}) {
|
|
121
|
-
const reduce = useReducedMotion2();
|
|
122
|
-
const Tag = as;
|
|
123
|
-
const tokens = React2.useMemo(() => {
|
|
124
|
-
if (splitBy === "lines") return children.split("\n");
|
|
125
|
-
return children.split(/(\s+)/).filter((t) => t.length > 0);
|
|
126
|
-
}, [children, splitBy]);
|
|
127
|
-
if (reduce) {
|
|
128
|
-
return /* @__PURE__ */ jsx2(Tag, { className, ...rest, children });
|
|
129
|
-
}
|
|
130
|
-
const containerVariants = {
|
|
131
|
-
hidden: {},
|
|
132
|
-
shown: { transition: { staggerChildren: stagger, delayChildren: delay } }
|
|
133
|
-
};
|
|
134
|
-
return /* @__PURE__ */ jsx2(
|
|
135
|
-
motion2.span,
|
|
136
|
-
{
|
|
137
|
-
variants: containerVariants,
|
|
138
|
-
initial: "hidden",
|
|
139
|
-
whileInView: "shown",
|
|
140
|
-
viewport: { once: !repeat, amount },
|
|
141
|
-
className: cn(as === "span" ? "inline" : "block", className),
|
|
142
|
-
...rest,
|
|
143
|
-
children: /* @__PURE__ */ jsx2(Tag, { className: as === "span" ? "inline" : "block", children: tokens.map(
|
|
144
|
-
(token, i) => /^\s+$/.test(token) && splitBy === "words" ? /* @__PURE__ */ jsx2("span", { children: " " }, i) : /* @__PURE__ */ jsx2(
|
|
145
|
-
"span",
|
|
146
|
-
{
|
|
147
|
-
className: cn(
|
|
148
|
-
"overflow-hidden",
|
|
149
|
-
splitBy === "lines" ? "block" : "inline-block align-bottom"
|
|
150
|
-
),
|
|
151
|
-
children: /* @__PURE__ */ jsx2(
|
|
152
|
-
motion2.span,
|
|
153
|
-
{
|
|
154
|
-
className: "inline-block",
|
|
155
|
-
variants: tokenVariants,
|
|
156
|
-
transition: { duration, ease: EASE.out },
|
|
157
|
-
children: token
|
|
158
|
-
}
|
|
159
|
-
)
|
|
160
|
-
},
|
|
161
|
-
i
|
|
162
|
-
)
|
|
163
|
-
) })
|
|
164
|
-
}
|
|
165
|
-
);
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
// src/site/Parallax.tsx
|
|
169
|
-
import * as React3 from "react";
|
|
170
|
-
import {
|
|
171
|
-
motion as motion3,
|
|
172
|
-
useReducedMotion as useReducedMotion3,
|
|
173
|
-
useScroll,
|
|
174
|
-
useSpring,
|
|
175
|
-
useTransform
|
|
176
|
-
} from "motion/react";
|
|
177
|
-
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
178
|
-
var Parallax = React3.forwardRef(function Parallax2({ speed = 0.2, axis = "y", smooth = true, className, children, style, ...rest }, forwardedRef) {
|
|
179
|
-
const reduce = useReducedMotion3();
|
|
180
|
-
const innerRef = React3.useRef(null);
|
|
181
|
-
React3.useImperativeHandle(forwardedRef, () => innerRef.current);
|
|
182
|
-
const { scrollYProgress } = useScroll({
|
|
183
|
-
target: innerRef,
|
|
184
|
-
offset: ["start end", "end start"]
|
|
185
|
-
});
|
|
186
|
-
const range = 100 * speed;
|
|
187
|
-
const raw = useTransform(scrollYProgress, [0, 1], [range, -range]);
|
|
188
|
-
const smoothed = useSpring(raw, { stiffness: 120, damping: 30, mass: 0.4 });
|
|
189
|
-
const value = smooth ? smoothed : raw;
|
|
190
|
-
if (reduce) {
|
|
191
|
-
return /* @__PURE__ */ jsx3("div", { ref: innerRef, className, style, ...rest, children });
|
|
192
|
-
}
|
|
193
|
-
return /* @__PURE__ */ jsx3(
|
|
194
|
-
motion3.div,
|
|
195
|
-
{
|
|
196
|
-
ref: innerRef,
|
|
197
|
-
className: cn("will-change-transform", className),
|
|
198
|
-
style: { ...style, [axis]: value },
|
|
199
|
-
...rest,
|
|
200
|
-
children
|
|
201
|
-
}
|
|
202
|
-
);
|
|
203
|
-
});
|
|
204
|
-
|
|
205
|
-
// src/site/Marquee.tsx
|
|
206
|
-
import * as React4 from "react";
|
|
207
|
-
import {
|
|
208
|
-
motion as motion4,
|
|
209
|
-
useAnimationFrame,
|
|
210
|
-
useMotionValue,
|
|
211
|
-
useReducedMotion as useReducedMotion4
|
|
212
|
-
} from "motion/react";
|
|
213
|
-
import { jsx as jsx4, jsxs } from "react/jsx-runtime";
|
|
214
|
-
var Marquee = React4.forwardRef(function Marquee2({ speed = 60, direction = "left", pauseOnHover = true, gap = "3rem", className, children, ...rest }, ref) {
|
|
215
|
-
const reduce = useReducedMotion4();
|
|
216
|
-
const x = useMotionValue(0);
|
|
217
|
-
const setWidthRef = React4.useRef(0);
|
|
218
|
-
const groupRef = React4.useRef(null);
|
|
219
|
-
const [paused, setPaused] = React4.useState(false);
|
|
220
|
-
React4.useEffect(() => {
|
|
221
|
-
const el = groupRef.current;
|
|
222
|
-
if (!el) return;
|
|
223
|
-
const measure = () => {
|
|
224
|
-
const gapPx = parseFloat(getComputedStyle(el.parentElement).columnGap || "0") || 0;
|
|
225
|
-
setWidthRef.current = el.offsetWidth + gapPx;
|
|
226
|
-
};
|
|
227
|
-
measure();
|
|
228
|
-
const ro = new ResizeObserver(measure);
|
|
229
|
-
ro.observe(el);
|
|
230
|
-
return () => ro.disconnect();
|
|
231
|
-
}, []);
|
|
232
|
-
useAnimationFrame((_, delta) => {
|
|
233
|
-
if (reduce || paused || setWidthRef.current === 0) return;
|
|
234
|
-
const dir = direction === "left" ? -1 : 1;
|
|
235
|
-
const moveBy = speed * delta / 1e3;
|
|
236
|
-
let next = x.get() + dir * moveBy;
|
|
237
|
-
const w = setWidthRef.current;
|
|
238
|
-
if (next <= -w) next += w;
|
|
239
|
-
else if (next >= w) next -= w;
|
|
240
|
-
x.set(next);
|
|
241
|
-
});
|
|
242
|
-
if (reduce) {
|
|
243
|
-
return /* @__PURE__ */ jsx4(
|
|
244
|
-
"div",
|
|
245
|
-
{
|
|
246
|
-
ref,
|
|
247
|
-
className: cn("flex w-full items-center overflow-x-auto", className),
|
|
248
|
-
style: { columnGap: gap },
|
|
249
|
-
...rest,
|
|
250
|
-
children
|
|
251
|
-
}
|
|
252
|
-
);
|
|
253
|
-
}
|
|
254
|
-
return /* @__PURE__ */ jsx4(
|
|
255
|
-
"div",
|
|
256
|
-
{
|
|
257
|
-
ref,
|
|
258
|
-
className: cn("w-full overflow-hidden", className),
|
|
259
|
-
onMouseEnter: pauseOnHover ? () => setPaused(true) : void 0,
|
|
260
|
-
onMouseLeave: pauseOnHover ? () => setPaused(false) : void 0,
|
|
261
|
-
...rest,
|
|
262
|
-
children: /* @__PURE__ */ jsxs(motion4.div, { className: "flex w-max flex-nowrap items-center", style: { x, columnGap: gap }, children: [
|
|
263
|
-
/* @__PURE__ */ jsx4("div", { ref: groupRef, className: "flex flex-nowrap items-center", style: { columnGap: gap }, children }),
|
|
264
|
-
/* @__PURE__ */ jsx4("div", { className: "flex flex-nowrap items-center", style: { columnGap: gap }, "aria-hidden": true, children })
|
|
265
|
-
] })
|
|
266
|
-
}
|
|
267
|
-
);
|
|
268
|
-
});
|
|
269
|
-
|
|
270
|
-
// src/site/Magnetic.tsx
|
|
271
|
-
import * as React5 from "react";
|
|
272
|
-
import { motion as motion5, useMotionValue as useMotionValue2, useReducedMotion as useReducedMotion5, useSpring as useSpring2 } from "motion/react";
|
|
273
|
-
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
274
|
-
var Magnetic = React5.forwardRef(function Magnetic2({ strength = 0.35, max = 24, spring = "snappy", className, children, ...rest }, forwardedRef) {
|
|
275
|
-
const reduce = useReducedMotion5();
|
|
276
|
-
const innerRef = React5.useRef(null);
|
|
277
|
-
React5.useImperativeHandle(forwardedRef, () => innerRef.current);
|
|
278
|
-
const mvx = useMotionValue2(0);
|
|
279
|
-
const mvy = useMotionValue2(0);
|
|
280
|
-
const x = useSpring2(mvx, SPRING[spring]);
|
|
281
|
-
const y = useSpring2(mvy, SPRING[spring]);
|
|
282
|
-
const clamp = (v) => Math.max(-max, Math.min(max, v));
|
|
283
|
-
function handleMove(e) {
|
|
284
|
-
if (reduce) return;
|
|
285
|
-
const el = innerRef.current;
|
|
286
|
-
if (!el) return;
|
|
287
|
-
const rect = el.getBoundingClientRect();
|
|
288
|
-
const cx = rect.left + rect.width / 2;
|
|
289
|
-
const cy = rect.top + rect.height / 2;
|
|
290
|
-
mvx.set(clamp((e.clientX - cx) * strength));
|
|
291
|
-
mvy.set(clamp((e.clientY - cy) * strength));
|
|
292
|
-
}
|
|
293
|
-
function reset() {
|
|
294
|
-
mvx.set(0);
|
|
295
|
-
mvy.set(0);
|
|
296
|
-
}
|
|
297
|
-
if (reduce) {
|
|
298
|
-
return /* @__PURE__ */ jsx5("div", { ref: innerRef, className: cn("inline-block", className), ...rest, children });
|
|
299
|
-
}
|
|
300
|
-
return /* @__PURE__ */ jsx5(
|
|
301
|
-
motion5.div,
|
|
302
|
-
{
|
|
303
|
-
ref: innerRef,
|
|
304
|
-
className: cn("inline-block", className),
|
|
305
|
-
style: { x, y },
|
|
306
|
-
onMouseMove: handleMove,
|
|
307
|
-
onMouseLeave: reset,
|
|
308
|
-
...rest,
|
|
309
|
-
children
|
|
310
|
-
}
|
|
311
|
-
);
|
|
312
|
-
});
|
|
2
|
+
DURATION,
|
|
3
|
+
EASE,
|
|
4
|
+
Magnetic,
|
|
5
|
+
Marquee,
|
|
6
|
+
Parallax,
|
|
7
|
+
Reveal,
|
|
8
|
+
SITE_AGENT_INSTRUCTIONS,
|
|
9
|
+
SPRING,
|
|
10
|
+
TextReveal
|
|
11
|
+
} from "./chunk-JJOO4PR5.esm.js";
|
|
12
|
+
import "./chunk-EDEKQYSU.esm.js";
|
|
313
13
|
export {
|
|
314
14
|
DURATION,
|
|
315
15
|
EASE,
|
|
@@ -317,6 +17,7 @@ export {
|
|
|
317
17
|
Marquee,
|
|
318
18
|
Parallax,
|
|
319
19
|
Reveal,
|
|
20
|
+
SITE_AGENT_INSTRUCTIONS,
|
|
320
21
|
SPRING,
|
|
321
22
|
TextReveal
|
|
322
23
|
};
|
package/dist/studio.cjs
CHANGED
|
@@ -980,22 +980,22 @@ var TIMBAL_V2_MODAL_SURFACE = cn(
|
|
|
980
980
|
);
|
|
981
981
|
var TIMBAL_V2_PRIMARY_GRADIENT = "bg-gradient-to-b from-primary-fill-from to-primary-fill-to";
|
|
982
982
|
var TIMBAL_V2_SIZE_HEIGHT = {
|
|
983
|
-
xs: "min-h-
|
|
984
|
-
sm: "min-h-
|
|
985
|
-
md: "min-h-
|
|
986
|
-
lg: "min-h-
|
|
983
|
+
xs: "min-h-7 h-7",
|
|
984
|
+
sm: "min-h-8 h-8",
|
|
985
|
+
md: "min-h-9 h-9",
|
|
986
|
+
lg: "min-h-10 h-10"
|
|
987
987
|
};
|
|
988
988
|
var TIMBAL_V2_SIZE_ICON = {
|
|
989
|
-
xs: "min-h-
|
|
989
|
+
xs: "min-h-7 min-w-7 size-7",
|
|
990
990
|
sm: "min-h-8 min-w-8 size-8",
|
|
991
|
-
md: "min-h-
|
|
992
|
-
lg: "min-h-
|
|
991
|
+
md: "min-h-9 min-w-9 size-9",
|
|
992
|
+
lg: "min-h-10 min-w-10 size-10"
|
|
993
993
|
};
|
|
994
994
|
var TIMBAL_V2_SIZE_LABEL_PX = {
|
|
995
|
-
xs: "px-
|
|
996
|
-
sm: "px-
|
|
997
|
-
md: "px-5",
|
|
998
|
-
lg: "px-
|
|
995
|
+
xs: "px-2.5",
|
|
996
|
+
sm: "px-3",
|
|
997
|
+
md: "px-3.5",
|
|
998
|
+
lg: "px-4.5"
|
|
999
999
|
};
|
|
1000
1000
|
var TIMBAL_V2_FILL = {
|
|
1001
1001
|
primary: [
|
|
@@ -1157,7 +1157,7 @@ function DialogContent({
|
|
|
1157
1157
|
"data-slot": "dialog-content",
|
|
1158
1158
|
className: cn(
|
|
1159
1159
|
TIMBAL_V2_MODAL_SURFACE,
|
|
1160
|
-
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-[70] grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-xl p-
|
|
1160
|
+
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-[70] grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-xl p-5 duration-200 outline-none sm:max-w-lg",
|
|
1161
1161
|
className
|
|
1162
1162
|
),
|
|
1163
1163
|
...props,
|
|
@@ -1215,9 +1215,9 @@ function isBrandedVariant(variant) {
|
|
|
1215
1215
|
return variant === "secondary" || variant === "primary" || variant === "chart";
|
|
1216
1216
|
}
|
|
1217
1217
|
var AVATAR_SIZE_CLASS = {
|
|
1218
|
-
default: "size-
|
|
1219
|
-
sm: "size-
|
|
1220
|
-
lg: "size-
|
|
1218
|
+
default: "size-7",
|
|
1219
|
+
sm: "size-5",
|
|
1220
|
+
lg: "size-9"
|
|
1221
1221
|
};
|
|
1222
1222
|
function Avatar({
|
|
1223
1223
|
className,
|
|
@@ -3332,16 +3332,16 @@ var buttonVariants = (0, import_class_variance_authority.cva)(
|
|
|
3332
3332
|
)
|
|
3333
3333
|
},
|
|
3334
3334
|
size: {
|
|
3335
|
-
xs: "h-
|
|
3336
|
-
sm: "h-
|
|
3337
|
-
md: "h-
|
|
3338
|
-
lg: "h-
|
|
3339
|
-
xl: "h-
|
|
3340
|
-
default: "h-
|
|
3341
|
-
icon: "h-
|
|
3342
|
-
"icon-xs": "h-
|
|
3343
|
-
"icon-sm": "h-
|
|
3344
|
-
"icon-lg": "h-
|
|
3335
|
+
xs: "h-7 gap-1 rounded-md px-2 text-xs",
|
|
3336
|
+
sm: "h-8 gap-1 rounded-md px-2.5 text-xs",
|
|
3337
|
+
md: "h-9 gap-1.5 rounded-lg px-3 text-sm",
|
|
3338
|
+
lg: "h-10 gap-1.5 rounded-lg px-3.5 text-sm",
|
|
3339
|
+
xl: "h-11 gap-2 rounded-lg px-4 text-base",
|
|
3340
|
+
default: "h-9 gap-1.5 rounded-lg px-3 text-sm",
|
|
3341
|
+
icon: "h-9 w-9 rounded-lg",
|
|
3342
|
+
"icon-xs": "h-7 w-7 rounded-md",
|
|
3343
|
+
"icon-sm": "h-8 w-8 rounded-md",
|
|
3344
|
+
"icon-lg": "h-10 w-10 rounded-lg"
|
|
3345
3345
|
},
|
|
3346
3346
|
shape: {
|
|
3347
3347
|
pill: "rounded-full!",
|
|
@@ -3598,7 +3598,7 @@ var BadgeNode = ({ node }) => {
|
|
|
3598
3598
|
"span",
|
|
3599
3599
|
{
|
|
3600
3600
|
className: cn(
|
|
3601
|
-
"aui-ui-badge inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium",
|
|
3601
|
+
"aui-ui-badge inline-flex w-fit shrink-0 items-center rounded-full px-2 py-0.5 text-xs font-medium",
|
|
3602
3602
|
BADGE_TONE[node.tone ?? "default"],
|
|
3603
3603
|
node.className
|
|
3604
3604
|
),
|
|
@@ -5224,7 +5224,7 @@ var overlayListPanelClass = cn(
|
|
|
5224
5224
|
overlaySurfaceClass,
|
|
5225
5225
|
"overflow-hidden rounded-lg p-0 outline-hidden"
|
|
5226
5226
|
);
|
|
5227
|
-
var overlayItemClass = "relative flex cursor-default items-center gap-2 rounded-md px-2 py-1
|
|
5227
|
+
var overlayItemClass = "relative flex cursor-default items-center gap-2 rounded-md px-2 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground";
|
|
5228
5228
|
|
|
5229
5229
|
// src/chat/workforce-selector.tsx
|
|
5230
5230
|
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
@@ -5349,8 +5349,8 @@ var SIDEBAR_MOBILE_PX = 272;
|
|
|
5349
5349
|
var SIDEBAR_GAP_PX = 12;
|
|
5350
5350
|
var SIDEBAR_CONTENT_GAP_PX = 8;
|
|
5351
5351
|
var TOPBAR_GAP_PX = 8;
|
|
5352
|
-
var TOPBAR_HEIGHT_PX =
|
|
5353
|
-
var PILL_HEIGHT_PX =
|
|
5352
|
+
var TOPBAR_HEIGHT_PX = 44;
|
|
5353
|
+
var PILL_HEIGHT_PX = 36;
|
|
5354
5354
|
var SIDEBAR_INSET_PX_EXPANDED = SIDEBAR_GAP_PX + SIDEBAR_WIDTH_PX + SIDEBAR_CONTENT_GAP_PX;
|
|
5355
5355
|
var SIDEBAR_INSET_PX_COLLAPSED = SIDEBAR_GAP_PX + SIDEBAR_WIDTH_COLLAPSED_PX + SIDEBAR_CONTENT_GAP_PX;
|
|
5356
5356
|
var px = (n) => `${n / 16}rem`;
|
|
@@ -6978,10 +6978,10 @@ var pillSegmentedTrackFlushClass = cn(
|
|
|
6978
6978
|
"h-[var(--studio-chrome-pill-height)] items-center gap-0.5 overflow-visible p-0.5"
|
|
6979
6979
|
);
|
|
6980
6980
|
var pillSegmentedSegmentClass = cn(
|
|
6981
|
-
"relative flex items-center gap-1.5 rounded-full px-
|
|
6981
|
+
"relative flex items-center gap-1.5 rounded-full px-3 py-1 text-xs font-normal transition-colors"
|
|
6982
6982
|
);
|
|
6983
6983
|
var pillSegmentedFlushSegmentClass = cn(
|
|
6984
|
-
"relative box-border inline-flex h-
|
|
6984
|
+
"relative box-border inline-flex h-8 min-h-8 items-center justify-center gap-1.5 rounded-full px-3 py-0",
|
|
6985
6985
|
"text-sm font-normal leading-tight transition-colors"
|
|
6986
6986
|
);
|
|
6987
6987
|
var pillSegmentedActiveIndicatorClass = cn(
|
package/dist/studio.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { M as ModeToggle, a as ModeToggleProps, b as ModeToggleTheme, S as STUDIO_NAV_MODE, c as StudioModeSwitch, d as StudioModeSwitchProps, e as StudioNavMode, f as StudioSidebar, g as StudioSidebarProps, h as StudioWelcome, i as StudioWelcomeProps, T as TimbalChatShell, j as TimbalChatShellProps, k as TimbalMark, l as TimbalMarkProps, m as TimbalStudioShell, n as TimbalStudioShellProps } from './welcome-
|
|
1
|
+
export { M as ModeToggle, a as ModeToggleProps, b as ModeToggleTheme, S as STUDIO_NAV_MODE, c as StudioModeSwitch, d as StudioModeSwitchProps, e as StudioNavMode, f as StudioSidebar, g as StudioSidebarProps, h as StudioWelcome, i as StudioWelcomeProps, T as TimbalChatShell, j as TimbalChatShellProps, k as TimbalMark, l as TimbalMarkProps, m as TimbalStudioShell, n as TimbalStudioShellProps } from './welcome-B00oH5Io.cjs';
|
|
2
2
|
import { FC } from 'react';
|
|
3
|
-
import './chat-
|
|
3
|
+
import './chat-DDsp-Vzz.cjs';
|
|
4
4
|
import 'react/jsx-runtime';
|
|
5
5
|
import '@assistant-ui/react';
|
|
6
6
|
import '@timbal-ai/timbal-sdk';
|
package/dist/studio.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { M as ModeToggle, a as ModeToggleProps, b as ModeToggleTheme, S as STUDIO_NAV_MODE, c as StudioModeSwitch, d as StudioModeSwitchProps, e as StudioNavMode, f as StudioSidebar, g as StudioSidebarProps, h as StudioWelcome, i as StudioWelcomeProps, T as TimbalChatShell, j as TimbalChatShellProps, k as TimbalMark, l as TimbalMarkProps, m as TimbalStudioShell, n as TimbalStudioShellProps } from './welcome-
|
|
1
|
+
export { M as ModeToggle, a as ModeToggleProps, b as ModeToggleTheme, S as STUDIO_NAV_MODE, c as StudioModeSwitch, d as StudioModeSwitchProps, e as StudioNavMode, f as StudioSidebar, g as StudioSidebarProps, h as StudioWelcome, i as StudioWelcomeProps, T as TimbalChatShell, j as TimbalChatShellProps, k as TimbalMark, l as TimbalMarkProps, m as TimbalStudioShell, n as TimbalStudioShellProps } from './welcome-DU-4NTjZ.js';
|
|
2
2
|
import { FC } from 'react';
|
|
3
|
-
import './chat-
|
|
3
|
+
import './chat-DDsp-Vzz.js';
|
|
4
4
|
import 'react/jsx-runtime';
|
|
5
5
|
import '@assistant-ui/react';
|
|
6
6
|
import '@timbal-ai/timbal-sdk';
|
package/dist/studio.esm.js
CHANGED
|
@@ -8,13 +8,13 @@ import {
|
|
|
8
8
|
TimbalChatShell,
|
|
9
9
|
TimbalMark,
|
|
10
10
|
TimbalStudioShell
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-HSL36SJ4.esm.js";
|
|
12
|
+
import "./chunk-ELEY66OH.esm.js";
|
|
13
|
+
import "./chunk-TMP7RIA7.esm.js";
|
|
14
|
+
import "./chunk-WQIQW7EM.esm.js";
|
|
15
|
+
import "./chunk-24B4I4XC.esm.js";
|
|
16
|
+
import "./chunk-R4RQT2XQ.esm.js";
|
|
17
|
+
import "./chunk-MBS7XHV2.esm.js";
|
|
18
18
|
import "./chunk-EDEKQYSU.esm.js";
|
|
19
19
|
export {
|
|
20
20
|
ModeToggle,
|
|
@@ -37,4 +37,4 @@ interface TimbalV2ButtonProps extends React.ComponentProps<"button"> {
|
|
|
37
37
|
*/
|
|
38
38
|
declare const TimbalV2Button: React.ForwardRefExoticComponent<Omit<TimbalV2ButtonProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
39
39
|
|
|
40
|
-
export {
|
|
40
|
+
export { TimbalV2Button as T, type TimbalV2ButtonProps as a };
|
|
@@ -37,4 +37,4 @@ interface TimbalV2ButtonProps extends React.ComponentProps<"button"> {
|
|
|
37
37
|
*/
|
|
38
38
|
declare const TimbalV2Button: React.ForwardRefExoticComponent<Omit<TimbalV2ButtonProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
39
39
|
|
|
40
|
-
export {
|
|
40
|
+
export { TimbalV2Button as T, type TimbalV2ButtonProps as a };
|