@tutti-os/agent-gui 0.0.50 → 0.0.51
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/dist/agent-conversation/index.js +2 -2
- package/dist/agent-message-center/index.d.ts +184 -3
- package/dist/agent-message-center/index.js +120 -54
- package/dist/agent-message-center/index.js.map +1 -1
- package/dist/{chunk-RPXRNKU5.js → chunk-23YM25SG.js} +2 -2
- package/dist/{chunk-FS26J46N.js → chunk-M7GNA2WD.js} +2 -2
- package/dist/{chunk-VKP5ZW5O.js → chunk-RKZMETSQ.js} +185 -185
- package/dist/chunk-RKZMETSQ.js.map +1 -0
- package/dist/index.js +3 -3
- package/package.json +14 -14
- package/dist/chunk-VKP5ZW5O.js.map +0 -1
- /package/dist/{chunk-RPXRNKU5.js.map → chunk-23YM25SG.js.map} +0 -0
- /package/dist/{chunk-FS26J46N.js.map → chunk-M7GNA2WD.js.map} +0 -0
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
resolveWorkspaceFileLinkAction,
|
|
14
14
|
resolveWorkspaceFilePathCandidate,
|
|
15
15
|
resolveWorkspaceLinkAction
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-RKZMETSQ.js";
|
|
17
17
|
import {
|
|
18
18
|
AGENT_RICH_TEXT_CARET_ANCHOR,
|
|
19
19
|
attrsToMentionItem,
|
|
@@ -14776,4 +14776,4 @@ export {
|
|
|
14776
14776
|
AgentConversationFlow,
|
|
14777
14777
|
useProjectedAgentConversation
|
|
14778
14778
|
};
|
|
14779
|
-
//# sourceMappingURL=chunk-
|
|
14779
|
+
//# sourceMappingURL=chunk-23YM25SG.js.map
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
AgentGUIConversation_styles_default,
|
|
8
8
|
MessageSquareMoreIcon,
|
|
9
9
|
extractAgentMcpToolTarget
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-RKZMETSQ.js";
|
|
11
11
|
import {
|
|
12
12
|
Spinner
|
|
13
13
|
} from "./chunk-HDBKB5RA.js";
|
|
@@ -1150,4 +1150,4 @@ export {
|
|
|
1150
1150
|
isPromptRequestIdTitle,
|
|
1151
1151
|
AgentInteractivePromptSurface
|
|
1152
1152
|
};
|
|
1153
|
-
//# sourceMappingURL=chunk-
|
|
1153
|
+
//# sourceMappingURL=chunk-M7GNA2WD.js.map
|
|
@@ -10,6 +10,13 @@ import {
|
|
|
10
10
|
useTranslation
|
|
11
11
|
} from "./chunk-Y7ZVTWMZ.js";
|
|
12
12
|
|
|
13
|
+
// app/renderer/lib/utils.ts
|
|
14
|
+
import { clsx } from "clsx";
|
|
15
|
+
import { twMerge } from "tailwind-merge";
|
|
16
|
+
function cn(...inputs) {
|
|
17
|
+
return twMerge(clsx(inputs));
|
|
18
|
+
}
|
|
19
|
+
|
|
13
20
|
// shared/agentMcpToolTarget.ts
|
|
14
21
|
function extractAgentMcpToolTarget({
|
|
15
22
|
input: rawInput,
|
|
@@ -276,13 +283,6 @@ import {
|
|
|
276
283
|
import { RotateCcwIcon, ZoomInIcon, ZoomOutIcon } from "lucide-react";
|
|
277
284
|
import Zoom from "react-medium-image-zoom";
|
|
278
285
|
|
|
279
|
-
// app/renderer/lib/utils.ts
|
|
280
|
-
import { clsx } from "clsx";
|
|
281
|
-
import { twMerge } from "tailwind-merge";
|
|
282
|
-
function cn(...inputs) {
|
|
283
|
-
return twMerge(clsx(inputs));
|
|
284
|
-
}
|
|
285
|
-
|
|
286
286
|
// shared/agentConversation/components/ConversationImageContextMenu.tsx
|
|
287
287
|
import {
|
|
288
288
|
useCallback,
|
|
@@ -3145,173 +3145,15 @@ var styles = {
|
|
|
3145
3145
|
};
|
|
3146
3146
|
var AgentGUIConversation_styles_default = styles;
|
|
3147
3147
|
|
|
3148
|
-
// app/renderer/components/
|
|
3148
|
+
// app/renderer/components/ui/custom-scroll-area.tsx
|
|
3149
3149
|
import {
|
|
3150
3150
|
forwardRef,
|
|
3151
3151
|
useCallback as useCallback4,
|
|
3152
3152
|
useEffect as useEffect4,
|
|
3153
|
-
|
|
3154
|
-
useRef as useRef3
|
|
3155
|
-
} from "react";
|
|
3156
|
-
import {
|
|
3157
|
-
motion,
|
|
3158
|
-
useAnimation,
|
|
3159
|
-
useReducedMotion
|
|
3160
|
-
} from "framer-motion";
|
|
3161
|
-
import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
3162
|
-
var DOT_TRANSITION = {
|
|
3163
|
-
times: [0, 0.1, 0.1, 0.2, 0.5, 0.6, 0.6, 0.7],
|
|
3164
|
-
duration: 1.5
|
|
3165
|
-
};
|
|
3166
|
-
var DOT_VARIANTS = {
|
|
3167
|
-
normal: {
|
|
3168
|
-
opacity: 1
|
|
3169
|
-
},
|
|
3170
|
-
animate: (custom) => ({
|
|
3171
|
-
opacity: [1, 0, 0, 1, 1, 0, 0, 1],
|
|
3172
|
-
transition: {
|
|
3173
|
-
opacity: {
|
|
3174
|
-
...DOT_TRANSITION,
|
|
3175
|
-
times: DOT_TRANSITION.times.map(
|
|
3176
|
-
(time, index) => index === 2 || index === 3 || index === 6 || index === 7 ? time + custom * 0.1 : time
|
|
3177
|
-
)
|
|
3178
|
-
}
|
|
3179
|
-
}
|
|
3180
|
-
}),
|
|
3181
|
-
active: (custom) => ({
|
|
3182
|
-
opacity: [1, 0, 0, 1, 1, 0, 0, 1],
|
|
3183
|
-
transition: {
|
|
3184
|
-
opacity: {
|
|
3185
|
-
...DOT_TRANSITION,
|
|
3186
|
-
repeat: Infinity,
|
|
3187
|
-
times: DOT_TRANSITION.times.map(
|
|
3188
|
-
(time, index) => index === 2 || index === 3 || index === 6 || index === 7 ? time + custom * 0.1 : time
|
|
3189
|
-
)
|
|
3190
|
-
}
|
|
3191
|
-
}
|
|
3192
|
-
})
|
|
3193
|
-
};
|
|
3194
|
-
var MessageSquareMoreIcon = forwardRef(
|
|
3195
|
-
({
|
|
3196
|
-
active = false,
|
|
3197
|
-
onMouseEnter,
|
|
3198
|
-
onMouseLeave,
|
|
3199
|
-
className,
|
|
3200
|
-
size = 28,
|
|
3201
|
-
...props
|
|
3202
|
-
}, ref) => {
|
|
3203
|
-
const controls = useAnimation();
|
|
3204
|
-
const reduceMotion = useReducedMotion();
|
|
3205
|
-
const isControlledRef = useRef3(false);
|
|
3206
|
-
const startAnimation = useCallback4(() => {
|
|
3207
|
-
if (reduceMotion) {
|
|
3208
|
-
return;
|
|
3209
|
-
}
|
|
3210
|
-
void controls.start(active ? "active" : "animate");
|
|
3211
|
-
}, [active, controls, reduceMotion]);
|
|
3212
|
-
const stopAnimation = useCallback4(() => {
|
|
3213
|
-
void controls.start("normal");
|
|
3214
|
-
}, [controls]);
|
|
3215
|
-
useImperativeHandle(ref, () => {
|
|
3216
|
-
isControlledRef.current = true;
|
|
3217
|
-
return {
|
|
3218
|
-
startAnimation,
|
|
3219
|
-
stopAnimation
|
|
3220
|
-
};
|
|
3221
|
-
});
|
|
3222
|
-
useEffect4(() => {
|
|
3223
|
-
if (active) {
|
|
3224
|
-
startAnimation();
|
|
3225
|
-
return;
|
|
3226
|
-
}
|
|
3227
|
-
stopAnimation();
|
|
3228
|
-
}, [active, startAnimation, stopAnimation]);
|
|
3229
|
-
const handleMouseEnter = useCallback4(
|
|
3230
|
-
(event) => {
|
|
3231
|
-
if (isControlledRef.current) {
|
|
3232
|
-
onMouseEnter?.(event);
|
|
3233
|
-
} else {
|
|
3234
|
-
startAnimation();
|
|
3235
|
-
}
|
|
3236
|
-
},
|
|
3237
|
-
[onMouseEnter, startAnimation]
|
|
3238
|
-
);
|
|
3239
|
-
const handleMouseLeave = useCallback4(
|
|
3240
|
-
(event) => {
|
|
3241
|
-
if (isControlledRef.current) {
|
|
3242
|
-
onMouseLeave?.(event);
|
|
3243
|
-
} else {
|
|
3244
|
-
stopAnimation();
|
|
3245
|
-
}
|
|
3246
|
-
},
|
|
3247
|
-
[onMouseLeave, stopAnimation]
|
|
3248
|
-
);
|
|
3249
|
-
return /* @__PURE__ */ jsx4(
|
|
3250
|
-
"div",
|
|
3251
|
-
{
|
|
3252
|
-
className: cn("inline-flex items-center justify-center", className),
|
|
3253
|
-
onMouseEnter: handleMouseEnter,
|
|
3254
|
-
onMouseLeave: handleMouseLeave,
|
|
3255
|
-
...props,
|
|
3256
|
-
children: /* @__PURE__ */ jsxs4(
|
|
3257
|
-
"svg",
|
|
3258
|
-
{
|
|
3259
|
-
fill: "none",
|
|
3260
|
-
height: size,
|
|
3261
|
-
stroke: "currentColor",
|
|
3262
|
-
strokeLinecap: "round",
|
|
3263
|
-
strokeLinejoin: "round",
|
|
3264
|
-
strokeWidth: "2",
|
|
3265
|
-
viewBox: "0 0 24 24",
|
|
3266
|
-
width: size,
|
|
3267
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
3268
|
-
children: [
|
|
3269
|
-
/* @__PURE__ */ jsx4("path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z" }),
|
|
3270
|
-
/* @__PURE__ */ jsx4(
|
|
3271
|
-
motion.path,
|
|
3272
|
-
{
|
|
3273
|
-
animate: controls,
|
|
3274
|
-
custom: 0,
|
|
3275
|
-
d: "M8 10h.01",
|
|
3276
|
-
variants: DOT_VARIANTS
|
|
3277
|
-
}
|
|
3278
|
-
),
|
|
3279
|
-
/* @__PURE__ */ jsx4(
|
|
3280
|
-
motion.path,
|
|
3281
|
-
{
|
|
3282
|
-
animate: controls,
|
|
3283
|
-
custom: 1,
|
|
3284
|
-
d: "M12 10h.01",
|
|
3285
|
-
variants: DOT_VARIANTS
|
|
3286
|
-
}
|
|
3287
|
-
),
|
|
3288
|
-
/* @__PURE__ */ jsx4(
|
|
3289
|
-
motion.path,
|
|
3290
|
-
{
|
|
3291
|
-
animate: controls,
|
|
3292
|
-
custom: 2,
|
|
3293
|
-
d: "M16 10h.01",
|
|
3294
|
-
variants: DOT_VARIANTS
|
|
3295
|
-
}
|
|
3296
|
-
)
|
|
3297
|
-
]
|
|
3298
|
-
}
|
|
3299
|
-
)
|
|
3300
|
-
}
|
|
3301
|
-
);
|
|
3302
|
-
}
|
|
3303
|
-
);
|
|
3304
|
-
MessageSquareMoreIcon.displayName = "MessageSquareMoreIcon";
|
|
3305
|
-
|
|
3306
|
-
// app/renderer/components/ui/custom-scroll-area.tsx
|
|
3307
|
-
import {
|
|
3308
|
-
forwardRef as forwardRef2,
|
|
3309
|
-
useCallback as useCallback5,
|
|
3310
|
-
useEffect as useEffect5,
|
|
3311
|
-
useRef as useRef4,
|
|
3153
|
+
useRef as useRef3,
|
|
3312
3154
|
useState as useState5
|
|
3313
3155
|
} from "react";
|
|
3314
|
-
import { jsx as
|
|
3156
|
+
import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
3315
3157
|
var MIN_THUMB_HEIGHT = 24;
|
|
3316
3158
|
function CustomScrollbar({
|
|
3317
3159
|
getViewport,
|
|
@@ -3322,15 +3164,15 @@ function CustomScrollbar({
|
|
|
3322
3164
|
syncKey
|
|
3323
3165
|
}) {
|
|
3324
3166
|
"use memo";
|
|
3325
|
-
const trackRef =
|
|
3326
|
-
const dragStateRef =
|
|
3167
|
+
const trackRef = useRef3(null);
|
|
3168
|
+
const dragStateRef = useRef3(null);
|
|
3327
3169
|
const [scrollbarState, setScrollbarState] = useState5({
|
|
3328
3170
|
scrollable: false,
|
|
3329
3171
|
thumbHeight: 0,
|
|
3330
3172
|
thumbTop: 0
|
|
3331
3173
|
});
|
|
3332
3174
|
const [dragging, setDragging] = useState5(false);
|
|
3333
|
-
const syncScrollbarState =
|
|
3175
|
+
const syncScrollbarState = useCallback4(() => {
|
|
3334
3176
|
const viewport = getViewport();
|
|
3335
3177
|
if (!viewport) {
|
|
3336
3178
|
setScrollbarState({ scrollable: false, thumbHeight: 0, thumbTop: 0 });
|
|
@@ -3353,7 +3195,7 @@ function CustomScrollbar({
|
|
|
3353
3195
|
(previous) => previous.scrollable && previous.thumbHeight === thumbHeight && previous.thumbTop === thumbTop ? previous : { scrollable: true, thumbHeight, thumbTop }
|
|
3354
3196
|
);
|
|
3355
3197
|
}, [getViewport]);
|
|
3356
|
-
const scrollViewportToThumbTop =
|
|
3198
|
+
const scrollViewportToThumbTop = useCallback4(
|
|
3357
3199
|
(thumbTop) => {
|
|
3358
3200
|
const viewport = getViewport();
|
|
3359
3201
|
const track = trackRef.current;
|
|
@@ -3376,7 +3218,7 @@ function CustomScrollbar({
|
|
|
3376
3218
|
},
|
|
3377
3219
|
[getViewport, scrollbarState.thumbHeight, syncScrollbarState]
|
|
3378
3220
|
);
|
|
3379
|
-
const handleTrackMouseDown =
|
|
3221
|
+
const handleTrackMouseDown = useCallback4(
|
|
3380
3222
|
(event) => {
|
|
3381
3223
|
if (event.button !== 0 || !scrollbarState.scrollable) {
|
|
3382
3224
|
return;
|
|
@@ -3398,7 +3240,7 @@ function CustomScrollbar({
|
|
|
3398
3240
|
scrollbarState.thumbHeight
|
|
3399
3241
|
]
|
|
3400
3242
|
);
|
|
3401
|
-
const handleThumbMouseDown =
|
|
3243
|
+
const handleThumbMouseDown = useCallback4(
|
|
3402
3244
|
(event) => {
|
|
3403
3245
|
if (event.button !== 0 || !scrollbarState.scrollable) {
|
|
3404
3246
|
return;
|
|
@@ -3431,7 +3273,7 @@ function CustomScrollbar({
|
|
|
3431
3273
|
},
|
|
3432
3274
|
[getViewport, scrollbarState.scrollable, scrollbarState.thumbHeight]
|
|
3433
3275
|
);
|
|
3434
|
-
|
|
3276
|
+
useEffect4(() => {
|
|
3435
3277
|
if (!dragging) {
|
|
3436
3278
|
return;
|
|
3437
3279
|
}
|
|
@@ -3456,7 +3298,7 @@ function CustomScrollbar({
|
|
|
3456
3298
|
window.removeEventListener("mouseup", handleMouseUp);
|
|
3457
3299
|
};
|
|
3458
3300
|
}, [dragging, getViewport, syncScrollbarState]);
|
|
3459
|
-
|
|
3301
|
+
useEffect4(() => {
|
|
3460
3302
|
const viewport = getViewport();
|
|
3461
3303
|
if (!viewport) {
|
|
3462
3304
|
setScrollbarState({ scrollable: false, thumbHeight: 0, thumbTop: 0 });
|
|
@@ -3473,7 +3315,7 @@ function CustomScrollbar({
|
|
|
3473
3315
|
resizeObserver?.disconnect();
|
|
3474
3316
|
};
|
|
3475
3317
|
}, [getViewport, syncKey, syncScrollbarState]);
|
|
3476
|
-
return /* @__PURE__ */
|
|
3318
|
+
return /* @__PURE__ */ jsx4(
|
|
3477
3319
|
"div",
|
|
3478
3320
|
{
|
|
3479
3321
|
ref: trackRef,
|
|
@@ -3483,7 +3325,7 @@ function CustomScrollbar({
|
|
|
3483
3325
|
"data-testid": testId,
|
|
3484
3326
|
"aria-hidden": "true",
|
|
3485
3327
|
onMouseDown: handleTrackMouseDown,
|
|
3486
|
-
children: /* @__PURE__ */
|
|
3328
|
+
children: /* @__PURE__ */ jsx4(
|
|
3487
3329
|
"div",
|
|
3488
3330
|
{
|
|
3489
3331
|
className: cn("tsh-custom-scrollbar__thumb", thumbClassName),
|
|
@@ -3498,7 +3340,7 @@ function CustomScrollbar({
|
|
|
3498
3340
|
}
|
|
3499
3341
|
);
|
|
3500
3342
|
}
|
|
3501
|
-
var CustomScrollArea =
|
|
3343
|
+
var CustomScrollArea = forwardRef(function CustomScrollArea2({
|
|
3502
3344
|
children,
|
|
3503
3345
|
className,
|
|
3504
3346
|
viewportClassName,
|
|
@@ -3510,9 +3352,9 @@ var CustomScrollArea = forwardRef2(function CustomScrollArea2({
|
|
|
3510
3352
|
...viewportProps
|
|
3511
3353
|
}, forwardedRef) {
|
|
3512
3354
|
"use memo";
|
|
3513
|
-
const viewportRef =
|
|
3514
|
-
const getViewport =
|
|
3515
|
-
return /* @__PURE__ */
|
|
3355
|
+
const viewportRef = useRef3(null);
|
|
3356
|
+
const getViewport = useCallback4(() => viewportRef.current, []);
|
|
3357
|
+
return /* @__PURE__ */ jsxs4(
|
|
3516
3358
|
"div",
|
|
3517
3359
|
{
|
|
3518
3360
|
className: cn(
|
|
@@ -3520,7 +3362,7 @@ var CustomScrollArea = forwardRef2(function CustomScrollArea2({
|
|
|
3520
3362
|
className
|
|
3521
3363
|
),
|
|
3522
3364
|
children: [
|
|
3523
|
-
/* @__PURE__ */
|
|
3365
|
+
/* @__PURE__ */ jsx4(
|
|
3524
3366
|
"div",
|
|
3525
3367
|
{
|
|
3526
3368
|
ref: setRefs(viewportRef, forwardedRef),
|
|
@@ -3532,7 +3374,7 @@ var CustomScrollArea = forwardRef2(function CustomScrollArea2({
|
|
|
3532
3374
|
children
|
|
3533
3375
|
}
|
|
3534
3376
|
),
|
|
3535
|
-
/* @__PURE__ */
|
|
3377
|
+
/* @__PURE__ */ jsx4(
|
|
3536
3378
|
CustomScrollbar,
|
|
3537
3379
|
{
|
|
3538
3380
|
getViewport,
|
|
@@ -3561,6 +3403,164 @@ function clamp(value, min, max) {
|
|
|
3561
3403
|
return Math.min(max, Math.max(min, value));
|
|
3562
3404
|
}
|
|
3563
3405
|
|
|
3406
|
+
// app/renderer/components/icons/MessageSquareMoreIcon.tsx
|
|
3407
|
+
import {
|
|
3408
|
+
forwardRef as forwardRef2,
|
|
3409
|
+
useCallback as useCallback5,
|
|
3410
|
+
useEffect as useEffect5,
|
|
3411
|
+
useImperativeHandle,
|
|
3412
|
+
useRef as useRef4
|
|
3413
|
+
} from "react";
|
|
3414
|
+
import {
|
|
3415
|
+
motion,
|
|
3416
|
+
useAnimation,
|
|
3417
|
+
useReducedMotion
|
|
3418
|
+
} from "framer-motion";
|
|
3419
|
+
import { jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
3420
|
+
var DOT_TRANSITION = {
|
|
3421
|
+
times: [0, 0.1, 0.1, 0.2, 0.5, 0.6, 0.6, 0.7],
|
|
3422
|
+
duration: 1.5
|
|
3423
|
+
};
|
|
3424
|
+
var DOT_VARIANTS = {
|
|
3425
|
+
normal: {
|
|
3426
|
+
opacity: 1
|
|
3427
|
+
},
|
|
3428
|
+
animate: (custom) => ({
|
|
3429
|
+
opacity: [1, 0, 0, 1, 1, 0, 0, 1],
|
|
3430
|
+
transition: {
|
|
3431
|
+
opacity: {
|
|
3432
|
+
...DOT_TRANSITION,
|
|
3433
|
+
times: DOT_TRANSITION.times.map(
|
|
3434
|
+
(time, index) => index === 2 || index === 3 || index === 6 || index === 7 ? time + custom * 0.1 : time
|
|
3435
|
+
)
|
|
3436
|
+
}
|
|
3437
|
+
}
|
|
3438
|
+
}),
|
|
3439
|
+
active: (custom) => ({
|
|
3440
|
+
opacity: [1, 0, 0, 1, 1, 0, 0, 1],
|
|
3441
|
+
transition: {
|
|
3442
|
+
opacity: {
|
|
3443
|
+
...DOT_TRANSITION,
|
|
3444
|
+
repeat: Infinity,
|
|
3445
|
+
times: DOT_TRANSITION.times.map(
|
|
3446
|
+
(time, index) => index === 2 || index === 3 || index === 6 || index === 7 ? time + custom * 0.1 : time
|
|
3447
|
+
)
|
|
3448
|
+
}
|
|
3449
|
+
}
|
|
3450
|
+
})
|
|
3451
|
+
};
|
|
3452
|
+
var MessageSquareMoreIcon = forwardRef2(
|
|
3453
|
+
({
|
|
3454
|
+
active = false,
|
|
3455
|
+
onMouseEnter,
|
|
3456
|
+
onMouseLeave,
|
|
3457
|
+
className,
|
|
3458
|
+
size = 28,
|
|
3459
|
+
...props
|
|
3460
|
+
}, ref) => {
|
|
3461
|
+
const controls = useAnimation();
|
|
3462
|
+
const reduceMotion = useReducedMotion();
|
|
3463
|
+
const isControlledRef = useRef4(false);
|
|
3464
|
+
const startAnimation = useCallback5(() => {
|
|
3465
|
+
if (reduceMotion) {
|
|
3466
|
+
return;
|
|
3467
|
+
}
|
|
3468
|
+
void controls.start(active ? "active" : "animate");
|
|
3469
|
+
}, [active, controls, reduceMotion]);
|
|
3470
|
+
const stopAnimation = useCallback5(() => {
|
|
3471
|
+
void controls.start("normal");
|
|
3472
|
+
}, [controls]);
|
|
3473
|
+
useImperativeHandle(ref, () => {
|
|
3474
|
+
isControlledRef.current = true;
|
|
3475
|
+
return {
|
|
3476
|
+
startAnimation,
|
|
3477
|
+
stopAnimation
|
|
3478
|
+
};
|
|
3479
|
+
});
|
|
3480
|
+
useEffect5(() => {
|
|
3481
|
+
if (active) {
|
|
3482
|
+
startAnimation();
|
|
3483
|
+
return;
|
|
3484
|
+
}
|
|
3485
|
+
stopAnimation();
|
|
3486
|
+
}, [active, startAnimation, stopAnimation]);
|
|
3487
|
+
const handleMouseEnter = useCallback5(
|
|
3488
|
+
(event) => {
|
|
3489
|
+
if (isControlledRef.current) {
|
|
3490
|
+
onMouseEnter?.(event);
|
|
3491
|
+
} else {
|
|
3492
|
+
startAnimation();
|
|
3493
|
+
}
|
|
3494
|
+
},
|
|
3495
|
+
[onMouseEnter, startAnimation]
|
|
3496
|
+
);
|
|
3497
|
+
const handleMouseLeave = useCallback5(
|
|
3498
|
+
(event) => {
|
|
3499
|
+
if (isControlledRef.current) {
|
|
3500
|
+
onMouseLeave?.(event);
|
|
3501
|
+
} else {
|
|
3502
|
+
stopAnimation();
|
|
3503
|
+
}
|
|
3504
|
+
},
|
|
3505
|
+
[onMouseLeave, stopAnimation]
|
|
3506
|
+
);
|
|
3507
|
+
return /* @__PURE__ */ jsx5(
|
|
3508
|
+
"div",
|
|
3509
|
+
{
|
|
3510
|
+
className: cn("inline-flex items-center justify-center", className),
|
|
3511
|
+
onMouseEnter: handleMouseEnter,
|
|
3512
|
+
onMouseLeave: handleMouseLeave,
|
|
3513
|
+
...props,
|
|
3514
|
+
children: /* @__PURE__ */ jsxs5(
|
|
3515
|
+
"svg",
|
|
3516
|
+
{
|
|
3517
|
+
fill: "none",
|
|
3518
|
+
height: size,
|
|
3519
|
+
stroke: "currentColor",
|
|
3520
|
+
strokeLinecap: "round",
|
|
3521
|
+
strokeLinejoin: "round",
|
|
3522
|
+
strokeWidth: "2",
|
|
3523
|
+
viewBox: "0 0 24 24",
|
|
3524
|
+
width: size,
|
|
3525
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
3526
|
+
children: [
|
|
3527
|
+
/* @__PURE__ */ jsx5("path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z" }),
|
|
3528
|
+
/* @__PURE__ */ jsx5(
|
|
3529
|
+
motion.path,
|
|
3530
|
+
{
|
|
3531
|
+
animate: controls,
|
|
3532
|
+
custom: 0,
|
|
3533
|
+
d: "M8 10h.01",
|
|
3534
|
+
variants: DOT_VARIANTS
|
|
3535
|
+
}
|
|
3536
|
+
),
|
|
3537
|
+
/* @__PURE__ */ jsx5(
|
|
3538
|
+
motion.path,
|
|
3539
|
+
{
|
|
3540
|
+
animate: controls,
|
|
3541
|
+
custom: 1,
|
|
3542
|
+
d: "M12 10h.01",
|
|
3543
|
+
variants: DOT_VARIANTS
|
|
3544
|
+
}
|
|
3545
|
+
),
|
|
3546
|
+
/* @__PURE__ */ jsx5(
|
|
3547
|
+
motion.path,
|
|
3548
|
+
{
|
|
3549
|
+
animate: controls,
|
|
3550
|
+
custom: 2,
|
|
3551
|
+
d: "M16 10h.01",
|
|
3552
|
+
variants: DOT_VARIANTS
|
|
3553
|
+
}
|
|
3554
|
+
)
|
|
3555
|
+
]
|
|
3556
|
+
}
|
|
3557
|
+
)
|
|
3558
|
+
}
|
|
3559
|
+
);
|
|
3560
|
+
}
|
|
3561
|
+
);
|
|
3562
|
+
MessageSquareMoreIcon.displayName = "MessageSquareMoreIcon";
|
|
3563
|
+
|
|
3564
3564
|
export {
|
|
3565
3565
|
cn,
|
|
3566
3566
|
extractAgentMcpToolTarget,
|
|
@@ -3577,4 +3577,4 @@ export {
|
|
|
3577
3577
|
CustomScrollArea,
|
|
3578
3578
|
MessageSquareMoreIcon
|
|
3579
3579
|
};
|
|
3580
|
-
//# sourceMappingURL=chunk-
|
|
3580
|
+
//# sourceMappingURL=chunk-RKZMETSQ.js.map
|