@usecrow/ui 0.1.72 → 0.1.74
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/index.cjs +290 -104
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +290 -104
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
package/dist/index.js
CHANGED
|
@@ -119,6 +119,12 @@ function useChat({
|
|
|
119
119
|
const pendingClientTools = [];
|
|
120
120
|
abortControllerRef.current = new AbortController();
|
|
121
121
|
try {
|
|
122
|
+
if (typeof window !== "undefined" && !window.__crow_page_context) {
|
|
123
|
+
for (let i = 0; i < 10; i++) {
|
|
124
|
+
await new Promise((r) => setTimeout(r, 200));
|
|
125
|
+
if (window.__crow_page_context) break;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
122
128
|
const identityToken = window.__crow_identity_token;
|
|
123
129
|
const response = await fetch(`${apiUrl}/api/chat/message`, {
|
|
124
130
|
method: "POST",
|
|
@@ -2352,6 +2358,13 @@ function useCopilotStyles2() {
|
|
|
2352
2358
|
const context = useContext(CopilotStyleContext);
|
|
2353
2359
|
return context?.styles ?? DEFAULT_COPILOT_STYLES;
|
|
2354
2360
|
}
|
|
2361
|
+
function useActiveStyles() {
|
|
2362
|
+
const copilotContext = useContext(CopilotStyleContext);
|
|
2363
|
+
const widgetContext = useContext(WidgetStyleContext);
|
|
2364
|
+
if (copilotContext) return copilotContext.styles;
|
|
2365
|
+
if (widgetContext) return widgetContext.styles;
|
|
2366
|
+
return DEFAULT_COPILOT_STYLES;
|
|
2367
|
+
}
|
|
2355
2368
|
var PASSTHROUGH_KEYS = /* @__PURE__ */ new Set(["Escape", "Tab"]);
|
|
2356
2369
|
function ShadowContainer({
|
|
2357
2370
|
children,
|
|
@@ -2889,6 +2902,7 @@ function ReasoningTrace({
|
|
|
2889
2902
|
] }) });
|
|
2890
2903
|
}
|
|
2891
2904
|
function WaitingIndicator() {
|
|
2905
|
+
const mutedColor = useActiveStyles().colors.text + "80";
|
|
2892
2906
|
const [messageIndex, setMessageIndex] = useState(
|
|
2893
2907
|
() => Math.floor(Math.random() * THINKING_MESSAGES.length)
|
|
2894
2908
|
);
|
|
@@ -2899,7 +2913,7 @@ function WaitingIndicator() {
|
|
|
2899
2913
|
return () => clearInterval(interval);
|
|
2900
2914
|
}, []);
|
|
2901
2915
|
const message = THINKING_MESSAGES[messageIndex] + "...";
|
|
2902
|
-
return /* @__PURE__ */ jsxs("div", { className: "crow-flex crow-items-center crow-gap-1.5 crow-text-xs
|
|
2916
|
+
return /* @__PURE__ */ jsxs("div", { className: "crow-flex crow-items-center crow-gap-1.5 crow-text-xs", style: { color: mutedColor }, children: [
|
|
2903
2917
|
/* @__PURE__ */ jsx("div", { className: "crow-flex crow-items-center crow-justify-center crow-w-4 crow-h-4", children: /* @__PURE__ */ jsx(ShimmeringContent, { children: /* @__PURE__ */ jsx(Brain, { className: "crow-w-3.5 crow-h-3.5" }) }) }),
|
|
2904
2918
|
/* @__PURE__ */ jsx("span", { className: "crow-font-medium", children: /* @__PURE__ */ jsx(ShimmeringContent, { children: message }) })
|
|
2905
2919
|
] });
|
|
@@ -2908,6 +2922,8 @@ function ThinkingBlock({
|
|
|
2908
2922
|
thinking,
|
|
2909
2923
|
isComplete
|
|
2910
2924
|
}) {
|
|
2925
|
+
const themeColors = useActiveStyles().colors;
|
|
2926
|
+
const mutedColor = themeColors.text + "80";
|
|
2911
2927
|
const [isExpanded, setIsExpanded] = useState(!isComplete);
|
|
2912
2928
|
const [messageIndex, setMessageIndex] = useState(
|
|
2913
2929
|
() => Math.floor(Math.random() * THINKING_MESSAGES.length)
|
|
@@ -2929,7 +2945,8 @@ function ThinkingBlock({
|
|
|
2929
2945
|
"button",
|
|
2930
2946
|
{
|
|
2931
2947
|
onClick: () => setIsExpanded(!isExpanded),
|
|
2932
|
-
className:
|
|
2948
|
+
className: "crow-flex crow-items-center crow-gap-1.5 crow-select-none crow-transition-colors crow-cursor-pointer",
|
|
2949
|
+
style: { color: mutedColor },
|
|
2933
2950
|
children: [
|
|
2934
2951
|
/* @__PURE__ */ jsx("div", { className: "crow-flex crow-items-center crow-justify-center crow-w-4 crow-h-4", children: isInProgress ? /* @__PURE__ */ jsx(ShimmeringContent, { children: /* @__PURE__ */ jsx(Brain, { className: "crow-w-3.5 crow-h-3.5" }) }) : /* @__PURE__ */ jsx(Brain, { className: "crow-w-3.5 crow-h-3.5" }) }),
|
|
2935
2952
|
/* @__PURE__ */ jsx("span", { className: "crow-font-medium", children: isInProgress ? /* @__PURE__ */ jsx(ShimmeringContent, { children: message }) : "Thought" }),
|
|
@@ -2954,10 +2971,11 @@ function ThinkingBlock({
|
|
|
2954
2971
|
exit: { height: 0, opacity: 0 },
|
|
2955
2972
|
transition: { duration: 0.15 },
|
|
2956
2973
|
className: "crow-overflow-hidden",
|
|
2957
|
-
children: /* @__PURE__ */ jsx("div", { className: "crow-border-l-2 crow-
|
|
2974
|
+
children: /* @__PURE__ */ jsx("div", { className: "crow-border-l-2 crow-pl-3 crow-ml-2", style: { borderColor: themeColors.border }, children: /* @__PURE__ */ jsx(
|
|
2958
2975
|
"div",
|
|
2959
2976
|
{
|
|
2960
|
-
className:
|
|
2977
|
+
className: "crow-text-xs crow-leading-relaxed crow-whitespace-pre-wrap",
|
|
2978
|
+
style: { color: mutedColor },
|
|
2961
2979
|
children: thinking
|
|
2962
2980
|
}
|
|
2963
2981
|
) })
|
|
@@ -2987,6 +3005,8 @@ function ToolCallBlock({
|
|
|
2987
3005
|
toolRenderers,
|
|
2988
3006
|
onToolConsent
|
|
2989
3007
|
}) {
|
|
3008
|
+
const themeColors = useActiveStyles().colors;
|
|
3009
|
+
const mutedColor = themeColors.text + "80";
|
|
2990
3010
|
const [expanded, setExpanded] = useState(false);
|
|
2991
3011
|
const hasArgs = Object.keys(toolCall.arguments || {}).length > 0;
|
|
2992
3012
|
const isExecuting = toolCall.status === "executing";
|
|
@@ -3000,13 +3020,15 @@ function ToolCallBlock({
|
|
|
3000
3020
|
/* @__PURE__ */ jsxs(
|
|
3001
3021
|
"div",
|
|
3002
3022
|
{
|
|
3003
|
-
className:
|
|
3023
|
+
className: "crow-flex crow-items-center crow-gap-1.5 crow-select-none crow-transition-colors",
|
|
3024
|
+
style: { color: mutedColor },
|
|
3004
3025
|
children: [
|
|
3005
3026
|
hasArgs && !isAwaitingConsent && /* @__PURE__ */ jsx(
|
|
3006
3027
|
"button",
|
|
3007
3028
|
{
|
|
3008
3029
|
onClick: () => setExpanded(!expanded),
|
|
3009
|
-
className: "crow-cursor-pointer
|
|
3030
|
+
className: "crow-cursor-pointer",
|
|
3031
|
+
style: { color: mutedColor },
|
|
3010
3032
|
children: /* @__PURE__ */ jsx(
|
|
3011
3033
|
motion.div,
|
|
3012
3034
|
{
|
|
@@ -3021,7 +3043,7 @@ function ToolCallBlock({
|
|
|
3021
3043
|
isExecuting && /* @__PURE__ */ jsx(Loader2, { className: "crow-w-3 crow-h-3 crow-animate-spin crow-text-blue-500" }),
|
|
3022
3044
|
isComplete && /* @__PURE__ */ jsx(Check, { className: "crow-w-3 crow-h-3 crow-text-green-500" }),
|
|
3023
3045
|
isError && /* @__PURE__ */ jsx("span", { className: "crow-w-3 crow-h-3 crow-text-red-500", children: "\u2715" }),
|
|
3024
|
-
isDenied && /* @__PURE__ */ jsx("span", { className: "crow-w-3 crow-h-3
|
|
3046
|
+
isDenied && /* @__PURE__ */ jsx("span", { className: "crow-w-3 crow-h-3", style: { color: mutedColor }, children: "\u2715" }),
|
|
3025
3047
|
/* @__PURE__ */ jsx("span", { className: "crow-font-medium", children: toolCall.displayName || toolCall.name }),
|
|
3026
3048
|
isAwaitingConsent && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
3027
3049
|
/* @__PURE__ */ jsx("span", { className: "crow-text-amber-500", children: "needs permission" }),
|
|
@@ -3038,16 +3060,16 @@ function ToolCallBlock({
|
|
|
3038
3060
|
"button",
|
|
3039
3061
|
{
|
|
3040
3062
|
onClick: () => onToolConsent?.(toolCall.id, false),
|
|
3041
|
-
className: "crow-px-2 crow-py-0.5 crow-rounded crow-border crow-text-xs crow-font-medium crow-
|
|
3042
|
-
style: { borderColor:
|
|
3063
|
+
className: "crow-px-2 crow-py-0.5 crow-rounded crow-border crow-text-xs crow-font-medium crow-cursor-pointer",
|
|
3064
|
+
style: { borderColor: themeColors.border, backgroundColor: "transparent", color: mutedColor },
|
|
3043
3065
|
children: "Deny"
|
|
3044
3066
|
}
|
|
3045
3067
|
)
|
|
3046
3068
|
] }),
|
|
3047
|
-
isExecuting && /* @__PURE__ */ jsx("span", {
|
|
3048
|
-
isComplete && /* @__PURE__ */ jsx("span", {
|
|
3049
|
-
isError && /* @__PURE__ */ jsx("span", {
|
|
3050
|
-
isDenied && /* @__PURE__ */ jsx("span", {
|
|
3069
|
+
isExecuting && /* @__PURE__ */ jsx("span", { style: { color: mutedColor }, children: "running..." }),
|
|
3070
|
+
isComplete && /* @__PURE__ */ jsx("span", { style: { color: mutedColor }, children: "done" }),
|
|
3071
|
+
isError && /* @__PURE__ */ jsx("span", { style: { color: mutedColor }, children: "failed" }),
|
|
3072
|
+
isDenied && /* @__PURE__ */ jsx("span", { style: { color: mutedColor }, children: "denied" })
|
|
3051
3073
|
]
|
|
3052
3074
|
}
|
|
3053
3075
|
),
|
|
@@ -3148,7 +3170,7 @@ function MessageBubble({
|
|
|
3148
3170
|
toolRenderers,
|
|
3149
3171
|
onToolConsent
|
|
3150
3172
|
}) {
|
|
3151
|
-
const styles =
|
|
3173
|
+
const styles = useActiveStyles();
|
|
3152
3174
|
const showThinkingSetting = useShowThinking();
|
|
3153
3175
|
const isWaiting = message.content === "Thinking..." || message.isBot && isLoading && !message.content;
|
|
3154
3176
|
const hasThinking = message.isBot && message.thinking;
|
|
@@ -3267,7 +3289,7 @@ function MessageList({
|
|
|
3267
3289
|
}) });
|
|
3268
3290
|
}
|
|
3269
3291
|
var MessagesContainer = forwardRef(({ children }, ref) => {
|
|
3270
|
-
const styles =
|
|
3292
|
+
const styles = useActiveStyles();
|
|
3271
3293
|
const internalRef = useRef(null);
|
|
3272
3294
|
const lastScrollHeightRef = useRef(0);
|
|
3273
3295
|
const isUserScrollingRef = useRef(false);
|
|
@@ -3329,26 +3351,92 @@ function ConversationList({
|
|
|
3329
3351
|
onSelect,
|
|
3330
3352
|
onClose
|
|
3331
3353
|
}) {
|
|
3354
|
+
const styles = useActiveStyles();
|
|
3332
3355
|
return /* @__PURE__ */ jsxs(
|
|
3333
3356
|
motion.div,
|
|
3334
3357
|
{
|
|
3335
3358
|
initial: { opacity: 0, height: 0 },
|
|
3336
3359
|
animate: { opacity: 1, height: "auto" },
|
|
3337
3360
|
exit: { opacity: 0, height: 0 },
|
|
3338
|
-
className: "crow-mb-3 crow-rounded-xl crow-
|
|
3361
|
+
className: "crow-mb-3 crow-rounded-xl crow-border",
|
|
3362
|
+
style: {
|
|
3363
|
+
background: styles.colors.text + "08",
|
|
3364
|
+
borderColor: styles.colors.border
|
|
3365
|
+
},
|
|
3339
3366
|
children: [
|
|
3340
|
-
/* @__PURE__ */ jsxs(
|
|
3341
|
-
|
|
3342
|
-
|
|
3343
|
-
|
|
3344
|
-
|
|
3367
|
+
/* @__PURE__ */ jsxs(
|
|
3368
|
+
"div",
|
|
3369
|
+
{
|
|
3370
|
+
className: "crow-p-2 crow-border-b crow-flex crow-justify-between crow-items-center",
|
|
3371
|
+
style: { borderColor: styles.colors.border },
|
|
3372
|
+
children: [
|
|
3373
|
+
/* @__PURE__ */ jsx(
|
|
3374
|
+
"span",
|
|
3375
|
+
{
|
|
3376
|
+
className: "crow-text-sm crow-font-medium",
|
|
3377
|
+
style: { color: styles.colors.text + "cc" },
|
|
3378
|
+
children: "Recent Conversations"
|
|
3379
|
+
}
|
|
3380
|
+
),
|
|
3381
|
+
/* @__PURE__ */ jsx(
|
|
3382
|
+
"button",
|
|
3383
|
+
{
|
|
3384
|
+
onClick: onClose,
|
|
3385
|
+
className: "crow-p-1 crow-rounded",
|
|
3386
|
+
style: { color: styles.colors.text + "80" },
|
|
3387
|
+
onMouseEnter: (e) => {
|
|
3388
|
+
e.currentTarget.style.background = styles.colors.text + "10";
|
|
3389
|
+
},
|
|
3390
|
+
onMouseLeave: (e) => {
|
|
3391
|
+
e.currentTarget.style.background = "transparent";
|
|
3392
|
+
},
|
|
3393
|
+
children: /* @__PURE__ */ jsx(X, { size: 14 })
|
|
3394
|
+
}
|
|
3395
|
+
)
|
|
3396
|
+
]
|
|
3397
|
+
}
|
|
3398
|
+
),
|
|
3399
|
+
/* @__PURE__ */ jsx("div", { className: "crow-max-h-[200px] crow-overflow-y-auto", children: conversations.length === 0 ? /* @__PURE__ */ jsx(
|
|
3400
|
+
"div",
|
|
3401
|
+
{
|
|
3402
|
+
className: "crow-p-4 crow-text-center crow-text-sm",
|
|
3403
|
+
style: { color: styles.colors.text + "80" },
|
|
3404
|
+
children: "No conversations yet"
|
|
3405
|
+
}
|
|
3406
|
+
) : conversations.map((conv) => /* @__PURE__ */ jsxs(
|
|
3345
3407
|
"button",
|
|
3346
3408
|
{
|
|
3347
3409
|
onClick: () => onSelect(conv.id),
|
|
3348
|
-
className:
|
|
3410
|
+
className: "crow-w-full crow-p-3 crow-text-left crow-transition-colors crow-border-b last:crow-border-0",
|
|
3411
|
+
style: {
|
|
3412
|
+
borderColor: styles.colors.border,
|
|
3413
|
+
background: currentConversationId === conv.id ? styles.colors.primary + "18" : "transparent"
|
|
3414
|
+
},
|
|
3415
|
+
onMouseEnter: (e) => {
|
|
3416
|
+
if (currentConversationId !== conv.id) {
|
|
3417
|
+
e.currentTarget.style.background = styles.colors.text + "08";
|
|
3418
|
+
}
|
|
3419
|
+
},
|
|
3420
|
+
onMouseLeave: (e) => {
|
|
3421
|
+
e.currentTarget.style.background = currentConversationId === conv.id ? styles.colors.primary + "18" : "transparent";
|
|
3422
|
+
},
|
|
3349
3423
|
children: [
|
|
3350
|
-
/* @__PURE__ */ jsx(
|
|
3351
|
-
|
|
3424
|
+
/* @__PURE__ */ jsx(
|
|
3425
|
+
"div",
|
|
3426
|
+
{
|
|
3427
|
+
className: "crow-text-sm crow-font-medium crow-truncate",
|
|
3428
|
+
style: { color: styles.colors.text },
|
|
3429
|
+
children: conv.name || "Untitled conversation"
|
|
3430
|
+
}
|
|
3431
|
+
),
|
|
3432
|
+
/* @__PURE__ */ jsx(
|
|
3433
|
+
"div",
|
|
3434
|
+
{
|
|
3435
|
+
className: "crow-text-xs crow-mt-0.5",
|
|
3436
|
+
style: { color: styles.colors.text + "80" },
|
|
3437
|
+
children: formatConversationDate(conv.updated_at)
|
|
3438
|
+
}
|
|
3439
|
+
)
|
|
3352
3440
|
]
|
|
3353
3441
|
},
|
|
3354
3442
|
conv.id
|
|
@@ -3365,14 +3453,26 @@ function WorkflowPanel({ workflow, onExit }) {
|
|
|
3365
3453
|
animate: { opacity: 1, y: 0 },
|
|
3366
3454
|
exit: { opacity: 0, y: -10 },
|
|
3367
3455
|
transition: { duration: 0.3 },
|
|
3368
|
-
className: "crow-mb-3 crow-p-3 crow-rounded-xl crow-
|
|
3456
|
+
className: "crow-mb-3 crow-p-3 crow-rounded-xl crow-border",
|
|
3457
|
+
style: {
|
|
3458
|
+
background: "var(--crow-bg-hover, rgba(0,0,0,0.04))",
|
|
3459
|
+
borderColor: "var(--crow-border, #e5e7eb)"
|
|
3460
|
+
},
|
|
3369
3461
|
children: /* @__PURE__ */ jsxs("div", { className: "crow-flex crow-items-center crow-justify-between", children: [
|
|
3370
|
-
/* @__PURE__ */ jsx(
|
|
3462
|
+
/* @__PURE__ */ jsx(
|
|
3463
|
+
"span",
|
|
3464
|
+
{
|
|
3465
|
+
className: "crow-text-sm crow-font-medium crow-flex crow-items-center crow-gap-1",
|
|
3466
|
+
style: { color: "var(--crow-text, #111827)" },
|
|
3467
|
+
children: workflow.name
|
|
3468
|
+
}
|
|
3469
|
+
),
|
|
3371
3470
|
/* @__PURE__ */ jsx(
|
|
3372
3471
|
"button",
|
|
3373
3472
|
{
|
|
3374
3473
|
onClick: onExit,
|
|
3375
|
-
className: "crow-text-xs crow-
|
|
3474
|
+
className: "crow-text-xs crow-underline",
|
|
3475
|
+
style: { color: "var(--crow-text-muted, #6b7280)" },
|
|
3376
3476
|
children: "Exit"
|
|
3377
3477
|
}
|
|
3378
3478
|
)
|
|
@@ -3381,12 +3481,14 @@ function WorkflowPanel({ workflow, onExit }) {
|
|
|
3381
3481
|
);
|
|
3382
3482
|
}
|
|
3383
3483
|
function PoweredByBadge({ apiUrl = "" }) {
|
|
3384
|
-
const styles =
|
|
3484
|
+
const styles = useActiveStyles();
|
|
3385
3485
|
const branding = styles.branding;
|
|
3386
3486
|
if (!branding.showPoweredBy) return null;
|
|
3387
|
-
const
|
|
3388
|
-
|
|
3389
|
-
|
|
3487
|
+
const showLogo = "showLogo" in branding ? branding.showLogo : false;
|
|
3488
|
+
const rawLogoUrl = "logoUrl" in branding ? branding.logoUrl : void 0;
|
|
3489
|
+
const logoUrl = rawLogoUrl?.startsWith("http") ? rawLogoUrl : rawLogoUrl ? `${apiUrl}${rawLogoUrl}` : void 0;
|
|
3490
|
+
return /* @__PURE__ */ jsxs("div", { className: "crow-flex crow-items-center crow-justify-center crow-gap-1.5 crow-mb-3 crow-text-xs", style: { color: "var(--crow-text-muted, #9ca3af)" }, children: [
|
|
3491
|
+
showLogo && logoUrl && /* @__PURE__ */ jsx(
|
|
3390
3492
|
"img",
|
|
3391
3493
|
{
|
|
3392
3494
|
src: logoUrl,
|
|
@@ -3433,10 +3535,10 @@ var ModelSelector = ({
|
|
|
3433
3535
|
disabled,
|
|
3434
3536
|
className: cn(
|
|
3435
3537
|
"crow-flex crow-items-center crow-gap-1 crow-px-2 crow-py-1 crow-rounded-md crow-text-xs",
|
|
3436
|
-
"crow-bg-transparent crow-
|
|
3437
|
-
"hover:crow-text-gray-700 crow-transition-colors",
|
|
3538
|
+
"crow-bg-transparent crow-transition-colors",
|
|
3438
3539
|
disabled ? "crow-opacity-50 crow-cursor-not-allowed" : "crow-cursor-pointer"
|
|
3439
3540
|
),
|
|
3541
|
+
style: { color: "var(--crow-text-muted, #9ca3af)" },
|
|
3440
3542
|
children: [
|
|
3441
3543
|
/* @__PURE__ */ jsx("span", { children: selectedModelData?.name || "Select Model" }),
|
|
3442
3544
|
/* @__PURE__ */ jsx(
|
|
@@ -3451,28 +3553,48 @@ var ModelSelector = ({
|
|
|
3451
3553
|
]
|
|
3452
3554
|
}
|
|
3453
3555
|
),
|
|
3454
|
-
isOpen && /* @__PURE__ */ jsx(
|
|
3455
|
-
|
|
3456
|
-
|
|
3457
|
-
"
|
|
3458
|
-
{
|
|
3459
|
-
|
|
3460
|
-
|
|
3461
|
-
|
|
3462
|
-
|
|
3463
|
-
|
|
3464
|
-
|
|
3465
|
-
|
|
3466
|
-
|
|
3556
|
+
isOpen && /* @__PURE__ */ jsx(
|
|
3557
|
+
"div",
|
|
3558
|
+
{
|
|
3559
|
+
className: "crow-absolute crow-bottom-full crow-mb-2 crow-left-0 crow-min-w-[180px] crow-rounded-xl crow-shadow-lg crow-z-50 crow-overflow-hidden crow-border",
|
|
3560
|
+
style: { background: "var(--crow-bg, #ffffff)", borderColor: "var(--crow-border, #e5e7eb)" },
|
|
3561
|
+
children: Object.entries(groupedModels).map(([provider, providerModels]) => /* @__PURE__ */ jsxs("div", { children: [
|
|
3562
|
+
/* @__PURE__ */ jsx(
|
|
3563
|
+
"div",
|
|
3564
|
+
{
|
|
3565
|
+
className: "crow-px-3 crow-py-1.5 crow-text-xs crow-font-medium crow-uppercase crow-tracking-wide",
|
|
3566
|
+
style: {
|
|
3567
|
+
color: "var(--crow-text-muted, #9ca3af)",
|
|
3568
|
+
background: "var(--crow-bg-hover, rgba(0,0,0,0.04))"
|
|
3569
|
+
},
|
|
3570
|
+
children: provider
|
|
3571
|
+
}
|
|
3467
3572
|
),
|
|
3468
|
-
|
|
3469
|
-
|
|
3470
|
-
|
|
3471
|
-
|
|
3472
|
-
|
|
3473
|
-
|
|
3474
|
-
|
|
3475
|
-
|
|
3573
|
+
providerModels.map((model) => /* @__PURE__ */ jsxs(
|
|
3574
|
+
"button",
|
|
3575
|
+
{
|
|
3576
|
+
onClick: () => {
|
|
3577
|
+
onModelChange(model.id);
|
|
3578
|
+
setIsOpen(false);
|
|
3579
|
+
},
|
|
3580
|
+
className: "crow-w-full crow-flex crow-items-center crow-justify-between crow-px-3 crow-py-1.5 crow-text-sm crow-transition-colors",
|
|
3581
|
+
style: { color: model.id === selectedModel ? "var(--crow-text, #111827)" : "var(--crow-text-muted, #4b5563)" },
|
|
3582
|
+
onMouseEnter: (e) => {
|
|
3583
|
+
e.currentTarget.style.background = "var(--crow-bg-hover, rgba(0,0,0,0.04))";
|
|
3584
|
+
},
|
|
3585
|
+
onMouseLeave: (e) => {
|
|
3586
|
+
e.currentTarget.style.background = "transparent";
|
|
3587
|
+
},
|
|
3588
|
+
children: [
|
|
3589
|
+
/* @__PURE__ */ jsx("span", { children: model.name }),
|
|
3590
|
+
model.id === selectedModel && /* @__PURE__ */ jsx(Check, { className: "crow-w-4 crow-h-4 crow-text-green-500" })
|
|
3591
|
+
]
|
|
3592
|
+
},
|
|
3593
|
+
model.id
|
|
3594
|
+
))
|
|
3595
|
+
] }, provider))
|
|
3596
|
+
}
|
|
3597
|
+
)
|
|
3476
3598
|
] });
|
|
3477
3599
|
};
|
|
3478
3600
|
var isMediaRecorderSupported = () => {
|
|
@@ -3673,9 +3795,12 @@ var Textarea = React3.forwardRef(
|
|
|
3673
3795
|
"textarea",
|
|
3674
3796
|
{
|
|
3675
3797
|
className: cn(
|
|
3676
|
-
"crow-flex crow-w-full crow-rounded-md crow-border-none crow-bg-transparent crow-px-3 crow-py-1.5 crow-text-base
|
|
3798
|
+
"crow-flex crow-w-full crow-rounded-md crow-border-none crow-bg-transparent crow-px-3 crow-py-1.5 crow-text-base focus-visible:crow-outline-none focus-visible:crow-ring-0 disabled:crow-cursor-not-allowed disabled:crow-opacity-50 crow-min-h-[32px] crow-resize-none",
|
|
3677
3799
|
className
|
|
3678
3800
|
),
|
|
3801
|
+
style: {
|
|
3802
|
+
color: "inherit"
|
|
3803
|
+
},
|
|
3679
3804
|
ref,
|
|
3680
3805
|
rows: 1,
|
|
3681
3806
|
...props
|
|
@@ -3692,9 +3817,10 @@ var TooltipContent = React3.forwardRef(({ className, sideOffset = 4, ...props },
|
|
|
3692
3817
|
ref,
|
|
3693
3818
|
sideOffset,
|
|
3694
3819
|
className: cn(
|
|
3695
|
-
"crow-z-50 crow-overflow-hidden crow-rounded-md crow-border crow-
|
|
3820
|
+
"crow-z-50 crow-overflow-hidden crow-rounded-md crow-border crow-px-3 crow-py-1.5 crow-text-sm crow-shadow-md",
|
|
3696
3821
|
className
|
|
3697
3822
|
),
|
|
3823
|
+
style: { background: "var(--crow-bg, #ffffff)", borderColor: "var(--crow-border, #d1d5db)", color: "var(--crow-text, #111827)" },
|
|
3698
3824
|
...props
|
|
3699
3825
|
}
|
|
3700
3826
|
));
|
|
@@ -3702,9 +3828,9 @@ TooltipContent.displayName = "TooltipContent";
|
|
|
3702
3828
|
var Button = React3.forwardRef(
|
|
3703
3829
|
({ className, variant = "default", size = "default", ...props }, ref) => {
|
|
3704
3830
|
const variantClasses = {
|
|
3705
|
-
default: "crow-
|
|
3706
|
-
outline: "crow-border crow-bg-transparent
|
|
3707
|
-
ghost: "crow-bg-transparent
|
|
3831
|
+
default: "crow-text-white",
|
|
3832
|
+
outline: "crow-border crow-bg-transparent",
|
|
3833
|
+
ghost: "crow-bg-transparent"
|
|
3708
3834
|
};
|
|
3709
3835
|
const sizeClasses = {
|
|
3710
3836
|
default: "crow-h-10 crow-px-4 crow-py-2",
|
|
@@ -3777,11 +3903,16 @@ var PromptInput = React3.forwardRef(
|
|
|
3777
3903
|
{
|
|
3778
3904
|
ref,
|
|
3779
3905
|
className: cn(
|
|
3780
|
-
"crow-rounded-3xl crow-border crow-
|
|
3906
|
+
"crow-rounded-3xl crow-border crow-p-1.5 crow-shadow-lg crow-transition-all crow-duration-300",
|
|
3781
3907
|
isLoading && "crow-border-red-500",
|
|
3782
3908
|
className
|
|
3783
3909
|
),
|
|
3784
|
-
style
|
|
3910
|
+
style: {
|
|
3911
|
+
background: "var(--crow-bg, #ffffff)",
|
|
3912
|
+
color: "var(--crow-text, #111827)",
|
|
3913
|
+
borderColor: isLoading ? void 0 : "var(--crow-border, #d1d5db)",
|
|
3914
|
+
...style
|
|
3915
|
+
},
|
|
3785
3916
|
children
|
|
3786
3917
|
}
|
|
3787
3918
|
)
|
|
@@ -3864,6 +3995,7 @@ var PromptInputBox = React3.forwardRef(
|
|
|
3864
3995
|
backendUrl = "",
|
|
3865
3996
|
triggerVoiceRecording = 0
|
|
3866
3997
|
}, ref) => {
|
|
3998
|
+
const themeStyles = useActiveStyles();
|
|
3867
3999
|
const [input, setInput] = React3.useState("");
|
|
3868
4000
|
const promptBoxRef = React3.useRef(null);
|
|
3869
4001
|
const voice = useVoiceInput({ backendUrl, silenceTimeoutMs: 1500 });
|
|
@@ -3917,10 +4049,15 @@ var PromptInputBox = React3.forwardRef(
|
|
|
3917
4049
|
highlighted && "crow-ring-4 crow-ring-offset-2 crow-animate-pulse crow-shadow-[0_0_20px_rgba(0,0,0,0.25)]",
|
|
3918
4050
|
className
|
|
3919
4051
|
),
|
|
3920
|
-
style:
|
|
3921
|
-
|
|
3922
|
-
|
|
3923
|
-
|
|
4052
|
+
style: {
|
|
4053
|
+
background: themeStyles.colors.background,
|
|
4054
|
+
color: themeStyles.colors.text,
|
|
4055
|
+
borderColor: themeStyles.colors.border,
|
|
4056
|
+
...highlighted ? {
|
|
4057
|
+
"--tw-ring-color": themeStyles.colors.userBubble,
|
|
4058
|
+
"--tw-ring-offset-color": themeStyles.colors.background
|
|
4059
|
+
} : {}
|
|
4060
|
+
},
|
|
3924
4061
|
disabled: isLoading,
|
|
3925
4062
|
ref: ref || promptBoxRef,
|
|
3926
4063
|
children: [
|
|
@@ -3960,10 +4097,8 @@ var PromptInputBox = React3.forwardRef(
|
|
|
3960
4097
|
/* @__PURE__ */ jsx(
|
|
3961
4098
|
Mic,
|
|
3962
4099
|
{
|
|
3963
|
-
className:
|
|
3964
|
-
|
|
3965
|
-
voice.isRecording ? "crow-text-red-500" : "crow-text-gray-400"
|
|
3966
|
-
)
|
|
4100
|
+
className: "crow-h-3.5 crow-w-3.5 crow-transition-colors",
|
|
4101
|
+
style: { color: voice.isRecording ? "#ef4444" : "var(--crow-text-muted, #9ca3af)" }
|
|
3967
4102
|
}
|
|
3968
4103
|
),
|
|
3969
4104
|
voice.isRecording && /* @__PURE__ */ jsx("span", { className: "crow-absolute crow-top-0 crow-right-0 crow-h-2 crow-w-2 crow-rounded-full crow-bg-red-500 crow-animate-pulse" })
|
|
@@ -3981,12 +4116,10 @@ var PromptInputBox = React3.forwardRef(
|
|
|
3981
4116
|
{
|
|
3982
4117
|
variant: "default",
|
|
3983
4118
|
size: "icon",
|
|
3984
|
-
className:
|
|
3985
|
-
|
|
3986
|
-
|
|
3987
|
-
|
|
3988
|
-
!hasContent && !isLoading && !showStopButton && "crow-bg-transparent"
|
|
3989
|
-
),
|
|
4119
|
+
className: "crow-h-7 crow-w-7 crow-rounded-full crow-transition-all crow-duration-200",
|
|
4120
|
+
style: {
|
|
4121
|
+
background: isLoading || showStopButton ? "#ef4444" : hasContent ? "var(--crow-primary, #000000)" : "transparent"
|
|
4122
|
+
},
|
|
3990
4123
|
onClick: () => {
|
|
3991
4124
|
if ((isLoading || showStopButton) && onStop) {
|
|
3992
4125
|
onStop();
|
|
@@ -4003,10 +4136,8 @@ var PromptInputBox = React3.forwardRef(
|
|
|
4003
4136
|
) : /* @__PURE__ */ jsx(
|
|
4004
4137
|
ArrowUp,
|
|
4005
4138
|
{
|
|
4006
|
-
className:
|
|
4007
|
-
|
|
4008
|
-
hasContent ? "crow-text-white" : "crow-text-gray-400"
|
|
4009
|
-
)
|
|
4139
|
+
className: "crow-h-3.5 crow-w-3.5",
|
|
4140
|
+
style: { color: hasContent ? "white" : "var(--crow-text-muted, #9ca3af)" }
|
|
4010
4141
|
}
|
|
4011
4142
|
)
|
|
4012
4143
|
}
|
|
@@ -4026,7 +4157,7 @@ function BrowserUseConfirmation({
|
|
|
4026
4157
|
onAllow,
|
|
4027
4158
|
onDeny
|
|
4028
4159
|
}) {
|
|
4029
|
-
const styles =
|
|
4160
|
+
const styles = useActiveStyles();
|
|
4030
4161
|
return /* @__PURE__ */ jsx(
|
|
4031
4162
|
"div",
|
|
4032
4163
|
{
|
|
@@ -4108,7 +4239,7 @@ function BrowserUseQuestion({
|
|
|
4108
4239
|
question,
|
|
4109
4240
|
onSubmit
|
|
4110
4241
|
}) {
|
|
4111
|
-
const styles =
|
|
4242
|
+
const styles = useActiveStyles();
|
|
4112
4243
|
const [answer, setAnswer] = useState("");
|
|
4113
4244
|
const [isSubmitting, setIsSubmitting] = useState(false);
|
|
4114
4245
|
const handleSubmit = useCallback(() => {
|
|
@@ -4195,15 +4326,15 @@ function SuggestedActions({
|
|
|
4195
4326
|
actions,
|
|
4196
4327
|
onActionClick
|
|
4197
4328
|
}) {
|
|
4198
|
-
const styles =
|
|
4329
|
+
const styles = useActiveStyles();
|
|
4199
4330
|
return /* @__PURE__ */ jsx("div", { className: "crow-flex crow-flex-wrap crow-gap-2 crow-px-1 crow-pb-2", children: actions.map((action, idx) => /* @__PURE__ */ jsx(
|
|
4200
4331
|
"button",
|
|
4201
4332
|
{
|
|
4202
4333
|
onClick: () => onActionClick(action),
|
|
4203
4334
|
className: "crow-rounded-full crow-border crow-px-3 crow-py-1.5 crow-text-sm crow-font-medium crow-transition-colors hover:crow-opacity-80 crow-cursor-pointer",
|
|
4204
4335
|
style: {
|
|
4205
|
-
borderColor: styles.colors.
|
|
4206
|
-
color: styles.colors.
|
|
4336
|
+
borderColor: styles.colors.border,
|
|
4337
|
+
color: styles.colors.text,
|
|
4207
4338
|
background: "transparent"
|
|
4208
4339
|
},
|
|
4209
4340
|
children: action.label
|
|
@@ -4339,7 +4470,7 @@ function injectCopilotBodyStyles() {
|
|
|
4339
4470
|
}
|
|
4340
4471
|
var WIDGET_CSS = `*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
|
|
4341
4472
|
|
|
4342
|
-
/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.crow-pointer-events-none{pointer-events:none}.crow-pointer-events-auto{pointer-events:auto}.crow-fixed{position:fixed}.crow-absolute{position:absolute}.crow-relative{position:relative}.crow-sticky{position:sticky}.crow-bottom-0{bottom:0}.crow-bottom-full{bottom:100%}.crow-left-0{left:0}.crow-right-0{right:0}.crow-top-0{top:0}.crow-z-10{z-index:10}.crow-z-50{z-index:50}.crow-z-\\[999999\\]{z-index:999999}.crow-m-0{margin:0}.crow-mx-3{margin-left:.75rem;margin-right:.75rem}.crow-my-1{margin-top:.25rem;margin-bottom:.25rem}.crow-my-1\\.5{margin-top:.375rem;margin-bottom:.375rem}.crow-my-2{margin-top:.5rem;margin-bottom:.5rem}.crow-mb-0{margin-bottom:0}.crow-mb-0\\.5{margin-bottom:.125rem}.crow-mb-1{margin-bottom:.25rem}.crow-mb-1\\.5{margin-bottom:.375rem}.crow-mb-2{margin-bottom:.5rem}.crow-mb-3{margin-bottom:.75rem}.crow-mb-4{margin-bottom:1rem}.crow-ml-0{margin-left:0}.crow-ml-0\\.5{margin-left:.125rem}.crow-ml-2{margin-left:.5rem}.crow-ml-4{margin-left:1rem}.crow-mt-0{margin-top:0}.crow-mt-0\\.5{margin-top:.125rem}.crow-mt-1{margin-top:.25rem}.crow-mt-1\\.5{margin-top:.375rem}.crow-mt-2{margin-top:.5rem}.crow-mt-auto{margin-top:auto}.crow-block{display:block}.crow-inline-block{display:inline-block}.crow-flex{display:flex}.crow-inline-flex{display:inline-flex}.crow-h-10{height:2.5rem}.crow-h-12{height:3rem}.crow-h-2{height:.5rem}.crow-h-3{height:.75rem}.crow-h-3\\.5{height:.875rem}.crow-h-4{height:1rem}.crow-h-5{height:1.25rem}.crow-h-7{height:1.75rem}.crow-h-8{height:2rem}.crow-h-full{height:100%}.crow-max-h-32{max-height:8rem}.crow-max-h-48{max-height:12rem}.crow-max-h-\\[200px\\]{max-height:200px}.crow-min-h-0{min-height:0}.crow-min-h-\\[32px\\]{min-height:32px}.crow-min-h-\\[40px\\]{min-height:40px}.crow-w-0{width:0}.crow-w-0\\.5{width:.125rem}.crow-w-2{width:.5rem}.crow-w-3{width:.75rem}.crow-w-3\\.5{width:.875rem}.crow-w-4{width:1rem}.crow-w-5{width:1.25rem}.crow-w-7{width:1.75rem}.crow-w-8{width:2rem}.crow-w-full{width:100%}.crow-min-w-0{min-width:0}.crow-min-w-\\[180px\\]{min-width:180px}.crow-max-w-\\[80\\%\\]{max-width:80%}.crow-max-w-\\[90\\%\\]{max-width:90%}.crow-max-w-full{max-width:100%}.crow-flex-1{flex:1 1 0%}.crow-flex-shrink-0,.crow-shrink-0{flex-shrink:0}.crow-border-collapse{border-collapse:collapse}.crow-rotate-180{--tw-rotate:180deg}.crow-rotate-180,.crow-scale-100{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.crow-scale-100{--tw-scale-x:1;--tw-scale-y:1}.crow-scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.crow-animate-fade-in{animation:crow-fadeIn .2s ease-out}.crow-animate-pulse{animation:crow-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.crow-animate-slide-up{animation:crow-slideUp .3s ease-out}@keyframes crow-spin{to{transform:rotate(1turn)}}.crow-animate-spin{animation:crow-spin 1s linear infinite}.crow-cursor-default{cursor:default}.crow-cursor-not-allowed{cursor:not-allowed}.crow-cursor-nw-resize{cursor:nw-resize}.crow-cursor-pointer{cursor:pointer}.crow-cursor-se-resize{cursor:se-resize}.crow-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.crow-resize-none{resize:none}.crow-list-decimal{list-style-type:decimal}.crow-list-disc{list-style-type:disc}.crow-flex-row{flex-direction:row}.crow-flex-col{flex-direction:column}.crow-flex-wrap{flex-wrap:wrap}.crow-items-start{align-items:flex-start}.crow-items-end{align-items:flex-end}.crow-items-center{align-items:center}.crow-items-stretch{align-items:stretch}.crow-justify-start{justify-content:flex-start}.crow-justify-end{justify-content:flex-end}.crow-justify-center{justify-content:center}.crow-justify-between{justify-content:space-between}.crow-gap-1{gap:.25rem}.crow-gap-1\\.5{gap:.375rem}.crow-gap-2{gap:.5rem}.crow-gap-3{gap:.75rem}.crow-gap-4{gap:1rem}.crow-gap-6{gap:1.5rem}.crow-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.crow-space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.crow-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.crow-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.crow-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.crow-overflow-auto{overflow:auto}.crow-overflow-hidden{overflow:hidden}.crow-overflow-visible{overflow:visible}.crow-overflow-x-auto{overflow-x:auto}.crow-overflow-y-auto{overflow-y:auto}.crow-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crow-whitespace-pre-wrap{white-space:pre-wrap}.crow-break-words{overflow-wrap:break-word}.crow-rounded{border-radius:.25rem}.crow-rounded-2xl{border-radius:1rem}.crow-rounded-3xl{border-radius:1.5rem}.crow-rounded-full{border-radius:9999px}.crow-rounded-lg{border-radius:.5rem}.crow-rounded-md{border-radius:.375rem}.crow-rounded-xl{border-radius:.75rem}.crow-border{border-width:1px}.crow-border-b{border-bottom-width:1px}.crow-border-l{border-left-width:1px}.crow-border-l-2{border-left-width:2px}.crow-border-r{border-right-width:1px}.crow-border-t{border-top-width:1px}.crow-border-none{border-style:none}.crow-border-\\[var\\(--crow-border\\,\\#e5e7eb\\)\\]{border-color:var(--crow-border,#e5e7eb)}.crow-border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.crow-border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.crow-border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.crow-border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.crow-border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.crow-border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.crow-border-gray-700\\/50{border-color:rgba(55,65,81,.5)}.crow-border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.crow-bg-\\[var\\(--crow-bg-secondary\\,\\#f3f4f6\\)\\]{background-color:var(--crow-bg-secondary,#f3f4f6)}.crow-bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.crow-bg-black\\/5{background-color:rgba(0,0,0,.05)}.crow-bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.crow-bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.crow-bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.crow-bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.crow-bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.crow-bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.crow-bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.crow-bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.crow-bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.crow-bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.crow-bg-transparent{background-color:transparent}.crow-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.crow-p-0{padding:0}.crow-p-0\\.5{padding:.125rem}.crow-p-1{padding:.25rem}.crow-p-1\\.5{padding:.375rem}.crow-p-2{padding:.5rem}.crow-p-3{padding:.75rem}.crow-p-4{padding:1rem}.crow-p-6{padding:1.5rem}.crow-px-1{padding-left:.25rem;padding-right:.25rem}.crow-px-1\\.5{padding-left:.375rem;padding-right:.375rem}.crow-px-2{padding-left:.5rem;padding-right:.5rem}.crow-px-3{padding-left:.75rem;padding-right:.75rem}.crow-px-4{padding-left:1rem;padding-right:1rem}.crow-px-6{padding-left:1.5rem;padding-right:1.5rem}.crow-py-0{padding-top:0;padding-bottom:0}.crow-py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.crow-py-1{padding-top:.25rem;padding-bottom:.25rem}.crow-py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.crow-py-2{padding-top:.5rem;padding-bottom:.5rem}.crow-py-2\\.5{padding-top:.625rem;padding-bottom:.625rem}.crow-py-3{padding-top:.75rem;padding-bottom:.75rem}.crow-py-6{padding-top:1.5rem;padding-bottom:1.5rem}.crow-py-8{padding-top:2rem;padding-bottom:2rem}.crow-pb-1{padding-bottom:.25rem}.crow-pb-2{padding-bottom:.5rem}.crow-pl-1{padding-left:.25rem}.crow-pl-3{padding-left:.75rem}.crow-pl-4{padding-left:1rem}.crow-pl-5{padding-left:1.25rem}.crow-pr-1{padding-right:.25rem}.crow-pr-4{padding-right:1rem}.crow-pt-1{padding-top:.25rem}.crow-pt-3{padding-top:.75rem}.crow-text-left{text-align:left}.crow-text-center{text-align:center}.crow-text-right{text-align:right}.crow-align-text-bottom{vertical-align:text-bottom}.crow-font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.crow-text-\\[13px\\]{font-size:13px}.crow-text-base{font-size:1rem;line-height:1.5rem}.crow-text-lg{font-size:1.125rem;line-height:1.75rem}.crow-text-sm{font-size:.875rem;line-height:1.25rem}.crow-text-xs{font-size:.75rem;line-height:1rem}.crow-font-bold{font-weight:700}.crow-font-medium{font-weight:500}.crow-font-semibold{font-weight:600}.crow-uppercase{text-transform:uppercase}.crow-italic{font-style:italic}.crow-leading-relaxed{line-height:1.625}.crow-leading-tight{line-height:1.25}.crow-tracking-wide{letter-spacing:.025em}.crow-tracking-wider{letter-spacing:.05em}.crow-text-\\[var\\(--crow-primary\\,\\#7c3aed\\)\\]{color:var(--crow-primary,#7c3aed)}.crow-text-\\[var\\(--crow-text\\,\\#111827\\)\\]{color:var(--crow-text,#111827)}.crow-text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.crow-text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.crow-text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.crow-text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.crow-text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.crow-text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.crow-text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.crow-text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.crow-text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.crow-text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.crow-text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.crow-text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.crow-text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.crow-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.crow-underline{text-decoration-line:underline}.crow-opacity-0{opacity:0}.crow-opacity-100{opacity:1}.crow-opacity-25{opacity:.25}.crow-opacity-40{opacity:.4}.crow-opacity-50{opacity:.5}.crow-opacity-60{opacity:.6}.crow-opacity-75{opacity:.75}.crow-shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.crow-shadow-2xl,.crow-shadow-\\[0_0_20px_rgba\\(0\\,0\\,0\\,0\\.25\\)\\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.crow-shadow-\\[0_0_20px_rgba\\(0\\,0\\,0\\,0\\.25\\)\\]{--tw-shadow:0 0 20px rgba(0,0,0,.25);--tw-shadow-colored:0 0 20px var(--tw-shadow-color)}.crow-shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.crow-shadow-lg,.crow-shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.crow-shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.crow-outline-none{outline:2px solid transparent;outline-offset:2px}.crow-ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.crow-ring-offset-2{--tw-ring-offset-width:2px}.crow-backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.crow-backdrop-blur-md,.crow-backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.crow-backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.crow-transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.crow-transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.crow-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.crow-transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.crow-transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.crow-duration-150{transition-duration:.15s}.crow-duration-200{transition-duration:.2s}.crow-duration-300{transition-duration:.3s}.crow-duration-500{transition-duration:.5s}.crow-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.crow-animate-fade-in{animation:crow-fadeIn .2s ease-out}.crow-animate-slide-up{animation:crow-slideUp .3s ease-out}.crow-animate-pulse{animation:crow-pulse 1.5s ease-in-out infinite}.crow-animation-delay-100{animation-delay:.1s}.crow-animation-delay-200{animation-delay:.2s}@keyframes crow-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes crow-slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes crow-pulse{0%,to{opacity:1}50%{opacity:.4}}.crow-overflow-y-auto::-webkit-scrollbar{width:6px}.crow-overflow-y-auto::-webkit-scrollbar-track{background:transparent}.crow-overflow-y-auto::-webkit-scrollbar-thumb{background-color:#d1d5db;border-radius:3px}.crow-overflow-y-auto::-webkit-scrollbar-thumb:hover{background-color:#9ca3af}.crow-focus-visible\\:crow-outline-none:focus-visible{outline:none}.crow-focus-visible\\:crow-ring-2:focus-visible{box-shadow:0 0 0 2px var(--crow-primary,#6366f1)}:host{--crow-primary:#6366f1;--crow-primary-dark:#4f46e5;--crow-secondary:#f1f5f9;--crow-accent:#10b981}@media (prefers-color-scheme:dark){:host{--crow-primary:#818cf8;--crow-primary-dark:#6366f1}}.crow-copilot-toggle{position:fixed;top:50%;transform:translateY(-50%);z-index:999998;width:24px;height:64px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e5e7eb;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px rgba(0,0,0,.1)}.crow-copilot-toggle:hover{background:#f9fafb;box-shadow:0 4px 12px rgba(0,0,0,.15)}.crow-copilot-toggle-right{right:0;border-radius:8px 0 0 8px;border-right:none}.crow-copilot-toggle-left{left:0;border-radius:0 8px 8px 0;border-left:none}.crow-copilot-toggle.open.crow-copilot-toggle-right{right:var(--crow-copilot-width,400px)}.crow-copilot-toggle.open.crow-copilot-toggle-left{left:var(--crow-copilot-width,400px)}.crow-copilot-toggle svg{width:16px;height:16px;color:#6b7280;transition:transform .2s ease}.crow-copilot-toggle:hover svg{color:#374151}.crow-copilot-sidebar{position:fixed;top:0;bottom:0;z-index:999997;background:#fff;box-shadow:-4px 0 20px rgba(0,0,0,.1);transition:transform .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.crow-copilot-sidebar-right{right:0;border-left:1px solid #e5e7eb}.crow-copilot-sidebar-left{left:0;border-right:1px solid #e5e7eb}.crow-copilot-sidebar.closed.crow-copilot-sidebar-right{transform:translateX(100%)}.crow-copilot-sidebar.closed.crow-copilot-sidebar-left{transform:translateX(-100%)}body.crow-copilot-open-right{margin-right:var(--crow-copilot-width,400px)!important;transition:margin .3s cubic-bezier(.4,0,.2,1)}body.crow-copilot-open-left{margin-left:var(--crow-copilot-width,400px)!important}body,body.crow-copilot-open-left{transition:margin .3s cubic-bezier(.4,0,.2,1)}.placeholder\\:crow-text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.placeholder\\:crow-text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.last\\:crow-mb-0:last-child{margin-bottom:0}.last\\:crow-border-0:last-child{border-width:0}.hover\\:crow-scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:crow-bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\\:crow-bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\\:crow-bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\\:crow-bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.hover\\:crow-bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.hover\\:crow-bg-red-200:hover{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.hover\\:crow-bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.hover\\:crow-text-blue-300:hover{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.hover\\:crow-text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\\:crow-text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\\:crow-text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.hover\\:crow-opacity-100:hover{opacity:1}.hover\\:crow-opacity-80:hover{opacity:.8}.hover\\:crow-opacity-90:hover{opacity:.9}.focus\\:crow-outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:crow-ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\\:crow-ring-0:focus,.focus\\:crow-ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:crow-ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\\:crow-ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\\:crow-outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:crow-ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.disabled\\:crow-pointer-events-none:disabled{pointer-events:none}.disabled\\:crow-cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:crow-opacity-50:disabled{opacity:.5}`;
|
|
4473
|
+
/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.crow-pointer-events-none{pointer-events:none}.crow-pointer-events-auto{pointer-events:auto}.crow-fixed{position:fixed}.crow-absolute{position:absolute}.crow-relative{position:relative}.crow-sticky{position:sticky}.crow-bottom-0{bottom:0}.crow-bottom-full{bottom:100%}.crow-left-0{left:0}.crow-right-0{right:0}.crow-top-0{top:0}.crow-z-10{z-index:10}.crow-z-50{z-index:50}.crow-z-\\[999999\\]{z-index:999999}.crow-m-0{margin:0}.crow-mx-3{margin-left:.75rem;margin-right:.75rem}.crow-my-1{margin-top:.25rem;margin-bottom:.25rem}.crow-my-1\\.5{margin-top:.375rem;margin-bottom:.375rem}.crow-my-2{margin-top:.5rem;margin-bottom:.5rem}.crow-mb-0{margin-bottom:0}.crow-mb-0\\.5{margin-bottom:.125rem}.crow-mb-1{margin-bottom:.25rem}.crow-mb-1\\.5{margin-bottom:.375rem}.crow-mb-2{margin-bottom:.5rem}.crow-mb-3{margin-bottom:.75rem}.crow-mb-4{margin-bottom:1rem}.crow-ml-0{margin-left:0}.crow-ml-0\\.5{margin-left:.125rem}.crow-ml-2{margin-left:.5rem}.crow-ml-4{margin-left:1rem}.crow-mt-0{margin-top:0}.crow-mt-0\\.5{margin-top:.125rem}.crow-mt-1{margin-top:.25rem}.crow-mt-1\\.5{margin-top:.375rem}.crow-mt-2{margin-top:.5rem}.crow-mt-auto{margin-top:auto}.crow-block{display:block}.crow-inline-block{display:inline-block}.crow-flex{display:flex}.crow-inline-flex{display:inline-flex}.crow-h-10{height:2.5rem}.crow-h-12{height:3rem}.crow-h-2{height:.5rem}.crow-h-3{height:.75rem}.crow-h-3\\.5{height:.875rem}.crow-h-4{height:1rem}.crow-h-5{height:1.25rem}.crow-h-7{height:1.75rem}.crow-h-8{height:2rem}.crow-h-full{height:100%}.crow-max-h-32{max-height:8rem}.crow-max-h-48{max-height:12rem}.crow-max-h-\\[200px\\]{max-height:200px}.crow-min-h-0{min-height:0}.crow-min-h-\\[32px\\]{min-height:32px}.crow-min-h-\\[40px\\]{min-height:40px}.crow-w-0{width:0}.crow-w-0\\.5{width:.125rem}.crow-w-2{width:.5rem}.crow-w-3{width:.75rem}.crow-w-3\\.5{width:.875rem}.crow-w-4{width:1rem}.crow-w-5{width:1.25rem}.crow-w-7{width:1.75rem}.crow-w-8{width:2rem}.crow-w-full{width:100%}.crow-min-w-0{min-width:0}.crow-min-w-\\[180px\\]{min-width:180px}.crow-max-w-\\[80\\%\\]{max-width:80%}.crow-max-w-\\[90\\%\\]{max-width:90%}.crow-max-w-full{max-width:100%}.crow-flex-1{flex:1 1 0%}.crow-flex-shrink-0,.crow-shrink-0{flex-shrink:0}.crow-border-collapse{border-collapse:collapse}.crow-rotate-180{--tw-rotate:180deg}.crow-rotate-180,.crow-scale-100{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.crow-scale-100{--tw-scale-x:1;--tw-scale-y:1}.crow-scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.crow-animate-fade-in{animation:crow-fadeIn .2s ease-out}.crow-animate-pulse{animation:crow-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.crow-animate-slide-up{animation:crow-slideUp .3s ease-out}@keyframes crow-spin{to{transform:rotate(1turn)}}.crow-animate-spin{animation:crow-spin 1s linear infinite}.crow-cursor-default{cursor:default}.crow-cursor-not-allowed{cursor:not-allowed}.crow-cursor-pointer{cursor:pointer}.crow-cursor-se-resize{cursor:se-resize}.crow-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.crow-resize-none{resize:none}.crow-list-decimal{list-style-type:decimal}.crow-list-disc{list-style-type:disc}.crow-flex-row{flex-direction:row}.crow-flex-col{flex-direction:column}.crow-flex-wrap{flex-wrap:wrap}.crow-items-start{align-items:flex-start}.crow-items-end{align-items:flex-end}.crow-items-center{align-items:center}.crow-items-stretch{align-items:stretch}.crow-justify-start{justify-content:flex-start}.crow-justify-end{justify-content:flex-end}.crow-justify-center{justify-content:center}.crow-justify-between{justify-content:space-between}.crow-gap-1{gap:.25rem}.crow-gap-1\\.5{gap:.375rem}.crow-gap-2{gap:.5rem}.crow-gap-3{gap:.75rem}.crow-gap-4{gap:1rem}.crow-gap-6{gap:1.5rem}.crow-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.crow-space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.crow-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.crow-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.crow-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.crow-overflow-auto{overflow:auto}.crow-overflow-hidden{overflow:hidden}.crow-overflow-visible{overflow:visible}.crow-overflow-x-auto{overflow-x:auto}.crow-overflow-y-auto{overflow-y:auto}.crow-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crow-whitespace-pre-wrap{white-space:pre-wrap}.crow-break-words{overflow-wrap:break-word}.crow-rounded{border-radius:.25rem}.crow-rounded-2xl{border-radius:1rem}.crow-rounded-3xl{border-radius:1.5rem}.crow-rounded-full{border-radius:9999px}.crow-rounded-lg{border-radius:.5rem}.crow-rounded-md{border-radius:.375rem}.crow-rounded-xl{border-radius:.75rem}.crow-border{border-width:1px}.crow-border-b{border-bottom-width:1px}.crow-border-l{border-left-width:1px}.crow-border-l-2{border-left-width:2px}.crow-border-r{border-right-width:1px}.crow-border-t{border-top-width:1px}.crow-border-none{border-style:none}.crow-border-\\[var\\(--crow-border\\,\\#e5e7eb\\)\\]{border-color:var(--crow-border,#e5e7eb)}.crow-border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.crow-border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.crow-border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.crow-border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.crow-border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.crow-border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.crow-border-gray-700\\/50{border-color:rgba(55,65,81,.5)}.crow-border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.crow-bg-\\[var\\(--crow-bg-secondary\\,\\#f3f4f6\\)\\]{background-color:var(--crow-bg-secondary,#f3f4f6)}.crow-bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.crow-bg-black\\/5{background-color:rgba(0,0,0,.05)}.crow-bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.crow-bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.crow-bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.crow-bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.crow-bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.crow-bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.crow-bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.crow-bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.crow-bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.crow-bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.crow-bg-transparent{background-color:transparent}.crow-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.crow-p-0{padding:0}.crow-p-0\\.5{padding:.125rem}.crow-p-1{padding:.25rem}.crow-p-1\\.5{padding:.375rem}.crow-p-2{padding:.5rem}.crow-p-3{padding:.75rem}.crow-p-4{padding:1rem}.crow-p-6{padding:1.5rem}.crow-px-1{padding-left:.25rem;padding-right:.25rem}.crow-px-1\\.5{padding-left:.375rem;padding-right:.375rem}.crow-px-2{padding-left:.5rem;padding-right:.5rem}.crow-px-3{padding-left:.75rem;padding-right:.75rem}.crow-px-4{padding-left:1rem;padding-right:1rem}.crow-px-6{padding-left:1.5rem;padding-right:1.5rem}.crow-py-0{padding-top:0;padding-bottom:0}.crow-py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.crow-py-1{padding-top:.25rem;padding-bottom:.25rem}.crow-py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.crow-py-2{padding-top:.5rem;padding-bottom:.5rem}.crow-py-2\\.5{padding-top:.625rem;padding-bottom:.625rem}.crow-py-3{padding-top:.75rem;padding-bottom:.75rem}.crow-py-6{padding-top:1.5rem;padding-bottom:1.5rem}.crow-py-8{padding-top:2rem;padding-bottom:2rem}.crow-pb-1{padding-bottom:.25rem}.crow-pb-2{padding-bottom:.5rem}.crow-pl-3{padding-left:.75rem}.crow-pl-4{padding-left:1rem}.crow-pl-5{padding-left:1.25rem}.crow-pr-1{padding-right:.25rem}.crow-pr-4{padding-right:1rem}.crow-pt-1{padding-top:.25rem}.crow-pt-3{padding-top:.75rem}.crow-text-left{text-align:left}.crow-text-center{text-align:center}.crow-text-right{text-align:right}.crow-align-text-bottom{vertical-align:text-bottom}.crow-font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.crow-text-\\[13px\\]{font-size:13px}.crow-text-base{font-size:1rem;line-height:1.5rem}.crow-text-lg{font-size:1.125rem;line-height:1.75rem}.crow-text-sm{font-size:.875rem;line-height:1.25rem}.crow-text-xs{font-size:.75rem;line-height:1rem}.crow-font-bold{font-weight:700}.crow-font-medium{font-weight:500}.crow-font-semibold{font-weight:600}.crow-uppercase{text-transform:uppercase}.crow-italic{font-style:italic}.crow-leading-relaxed{line-height:1.625}.crow-leading-tight{line-height:1.25}.crow-tracking-wide{letter-spacing:.025em}.crow-tracking-wider{letter-spacing:.05em}.crow-text-\\[var\\(--crow-primary\\,\\#7c3aed\\)\\]{color:var(--crow-primary,#7c3aed)}.crow-text-\\[var\\(--crow-text\\,\\#111827\\)\\]{color:var(--crow-text,#111827)}.crow-text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.crow-text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.crow-text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.crow-text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.crow-text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.crow-text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.crow-text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.crow-text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.crow-text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.crow-text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.crow-text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.crow-text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.crow-text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.crow-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.crow-underline{text-decoration-line:underline}.crow-opacity-0{opacity:0}.crow-opacity-100{opacity:1}.crow-opacity-25{opacity:.25}.crow-opacity-40{opacity:.4}.crow-opacity-50{opacity:.5}.crow-opacity-60{opacity:.6}.crow-opacity-75{opacity:.75}.crow-shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.crow-shadow-2xl,.crow-shadow-\\[0_0_20px_rgba\\(0\\,0\\,0\\,0\\.25\\)\\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.crow-shadow-\\[0_0_20px_rgba\\(0\\,0\\,0\\,0\\.25\\)\\]{--tw-shadow:0 0 20px rgba(0,0,0,.25);--tw-shadow-colored:0 0 20px var(--tw-shadow-color)}.crow-shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.crow-shadow-lg,.crow-shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.crow-shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.crow-outline-none{outline:2px solid transparent;outline-offset:2px}.crow-ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.crow-ring-offset-2{--tw-ring-offset-width:2px}.crow-backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.crow-backdrop-blur-md,.crow-backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.crow-backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.crow-transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.crow-transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.crow-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.crow-transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.crow-transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.crow-duration-150{transition-duration:.15s}.crow-duration-200{transition-duration:.2s}.crow-duration-300{transition-duration:.3s}.crow-duration-500{transition-duration:.5s}.crow-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.crow-animate-fade-in{animation:crow-fadeIn .2s ease-out}.crow-animate-slide-up{animation:crow-slideUp .3s ease-out}.crow-animate-pulse{animation:crow-pulse 1.5s ease-in-out infinite}.crow-animation-delay-100{animation-delay:.1s}.crow-animation-delay-200{animation-delay:.2s}@keyframes crow-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes crow-slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes crow-pulse{0%,to{opacity:1}50%{opacity:.4}}.crow-overflow-y-auto::-webkit-scrollbar{width:6px}.crow-overflow-y-auto::-webkit-scrollbar-track{background:transparent}.crow-overflow-y-auto::-webkit-scrollbar-thumb{background-color:#d1d5db;border-radius:3px}.crow-overflow-y-auto::-webkit-scrollbar-thumb:hover{background-color:#9ca3af}.crow-focus-visible\\:crow-outline-none:focus-visible{outline:none}.crow-focus-visible\\:crow-ring-2:focus-visible{box-shadow:0 0 0 2px var(--crow-primary,#6366f1)}:host{--crow-primary:#6366f1;--crow-primary-dark:#4f46e5;--crow-secondary:#f1f5f9;--crow-accent:#10b981}@media (prefers-color-scheme:dark){:host{--crow-primary:#818cf8;--crow-primary-dark:#6366f1}}.crow-copilot-toggle{position:fixed;top:50%;transform:translateY(-50%);z-index:999998;width:24px;height:64px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e5e7eb;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px rgba(0,0,0,.1)}.crow-copilot-toggle:hover{background:#f9fafb;box-shadow:0 4px 12px rgba(0,0,0,.15)}.crow-copilot-toggle-right{right:0;border-radius:8px 0 0 8px;border-right:none}.crow-copilot-toggle-left{left:0;border-radius:0 8px 8px 0;border-left:none}.crow-copilot-toggle.open.crow-copilot-toggle-right{right:var(--crow-copilot-width,400px)}.crow-copilot-toggle.open.crow-copilot-toggle-left{left:var(--crow-copilot-width,400px)}.crow-copilot-toggle svg{width:16px;height:16px;color:#6b7280;transition:transform .2s ease}.crow-copilot-toggle:hover svg{color:#374151}.crow-copilot-sidebar{position:fixed;top:0;bottom:0;z-index:999997;background:#fff;box-shadow:-4px 0 20px rgba(0,0,0,.1);transition:transform .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.crow-copilot-sidebar-right{right:0;border-left:1px solid #e5e7eb}.crow-copilot-sidebar-left{left:0;border-right:1px solid #e5e7eb}.crow-copilot-sidebar.closed.crow-copilot-sidebar-right{transform:translateX(100%)}.crow-copilot-sidebar.closed.crow-copilot-sidebar-left{transform:translateX(-100%)}body.crow-copilot-open-right{margin-right:var(--crow-copilot-width,400px)!important;transition:margin .3s cubic-bezier(.4,0,.2,1)}body.crow-copilot-open-left{margin-left:var(--crow-copilot-width,400px)!important}body,body.crow-copilot-open-left{transition:margin .3s cubic-bezier(.4,0,.2,1)}.placeholder\\:crow-text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.placeholder\\:crow-text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.last\\:crow-mb-0:last-child{margin-bottom:0}.last\\:crow-border-0:last-child{border-width:0}.hover\\:crow-scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:crow-bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\\:crow-bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\\:crow-bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\\:crow-bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.hover\\:crow-bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.hover\\:crow-bg-red-200:hover{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.hover\\:crow-bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.hover\\:crow-text-blue-300:hover{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.hover\\:crow-text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\\:crow-text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\\:crow-text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.hover\\:crow-opacity-100:hover{opacity:1}.hover\\:crow-opacity-80:hover{opacity:.8}.hover\\:crow-opacity-90:hover{opacity:.9}.focus\\:crow-outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:crow-ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\\:crow-ring-0:focus,.focus\\:crow-ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:crow-ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\\:crow-ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\\:crow-outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:crow-ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.disabled\\:crow-pointer-events-none:disabled{pointer-events:none}.disabled\\:crow-cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:crow-opacity-50:disabled{opacity:.5}`;
|
|
4343
4474
|
var injected = false;
|
|
4344
4475
|
function injectStyles(target = document) {
|
|
4345
4476
|
if (target === document && injected) return;
|
|
@@ -6062,7 +6193,20 @@ function CrowCopilot({
|
|
|
6062
6193
|
lineHeight: styles.typography.lineHeight,
|
|
6063
6194
|
letterSpacing: styles.typography.letterSpacing,
|
|
6064
6195
|
background: styles.colors.background,
|
|
6065
|
-
borderColor: styles.colors.border
|
|
6196
|
+
borderColor: styles.colors.border,
|
|
6197
|
+
// CSS variables for dark mode / theme propagation
|
|
6198
|
+
"--crow-primary": styles.colors.primary,
|
|
6199
|
+
"--crow-bg": styles.colors.background,
|
|
6200
|
+
"--crow-text": styles.colors.text,
|
|
6201
|
+
"--crow-border": styles.colors.border,
|
|
6202
|
+
"--crow-bot-bubble": styles.colors.botBubble,
|
|
6203
|
+
"--crow-bot-text": styles.colors.botText,
|
|
6204
|
+
"--crow-user-bubble": styles.colors.userBubble,
|
|
6205
|
+
"--crow-user-text": styles.colors.userText,
|
|
6206
|
+
"--crow-messages-bg": styles.colors.messagesBackground,
|
|
6207
|
+
"--crow-text-muted": styles.colors.text + "80",
|
|
6208
|
+
"--crow-bg-hover": styles.colors.text + "10",
|
|
6209
|
+
"--crow-bg-active": styles.colors.text + "18"
|
|
6066
6210
|
},
|
|
6067
6211
|
children: [
|
|
6068
6212
|
/* @__PURE__ */ jsxs(
|
|
@@ -6088,8 +6232,10 @@ function CrowCopilot({
|
|
|
6088
6232
|
return /* @__PURE__ */ jsxs(
|
|
6089
6233
|
"div",
|
|
6090
6234
|
{
|
|
6091
|
-
className:
|
|
6235
|
+
className: "crow-relative crow-flex-shrink-0 crow-flex crow-items-center crow-text-[13px] crow-leading-tight crow-py-2.5 crow-transition-colors crow-select-none crow-cursor-pointer",
|
|
6092
6236
|
style: {
|
|
6237
|
+
color: isActive ? styles.colors.text : styles.colors.text + "80",
|
|
6238
|
+
fontWeight: isActive ? 500 : void 0,
|
|
6093
6239
|
maxWidth: "180px",
|
|
6094
6240
|
borderRight: idx < tabs.length - 1 ? `1px solid ${styles.colors.border}` : "none",
|
|
6095
6241
|
paddingLeft: "16px",
|
|
@@ -6121,7 +6267,7 @@ function CrowCopilot({
|
|
|
6121
6267
|
isCloseable && /* @__PURE__ */ jsx(
|
|
6122
6268
|
"span",
|
|
6123
6269
|
{
|
|
6124
|
-
className: "crow-rounded crow-p-0.5 crow-flex-shrink-0 crow-inline-flex crow-items-center crow-justify-center crow-transition-opacity
|
|
6270
|
+
className: "crow-rounded crow-p-0.5 crow-flex-shrink-0 crow-inline-flex crow-items-center crow-justify-center crow-transition-opacity",
|
|
6125
6271
|
style: {
|
|
6126
6272
|
marginLeft: "6px",
|
|
6127
6273
|
opacity: isHovered ? 1 : 0,
|
|
@@ -6133,7 +6279,7 @@ function CrowCopilot({
|
|
|
6133
6279
|
},
|
|
6134
6280
|
role: "button",
|
|
6135
6281
|
"aria-label": `Close ${tab.name}`,
|
|
6136
|
-
children: /* @__PURE__ */ jsx(TabCloseIcon, { className: "crow-w-3 crow-h-3
|
|
6282
|
+
children: /* @__PURE__ */ jsx(TabCloseIcon, { className: "crow-w-3 crow-h-3", style: { color: styles.colors.text + "80" } })
|
|
6137
6283
|
}
|
|
6138
6284
|
),
|
|
6139
6285
|
isActive && /* @__PURE__ */ jsx(
|
|
@@ -6163,10 +6309,17 @@ function CrowCopilot({
|
|
|
6163
6309
|
"button",
|
|
6164
6310
|
{
|
|
6165
6311
|
onClick: handleNewChat,
|
|
6166
|
-
className: "crow-p-2
|
|
6312
|
+
className: "crow-p-2 crow-transition-colors crow-rounded",
|
|
6313
|
+
style: { color: styles.colors.text + "80" },
|
|
6314
|
+
onMouseEnter: (e) => {
|
|
6315
|
+
e.currentTarget.style.background = styles.colors.text + "10";
|
|
6316
|
+
},
|
|
6317
|
+
onMouseLeave: (e) => {
|
|
6318
|
+
e.currentTarget.style.background = "transparent";
|
|
6319
|
+
},
|
|
6167
6320
|
"aria-label": "New Chat",
|
|
6168
6321
|
title: "New Chat",
|
|
6169
|
-
children: /* @__PURE__ */ jsx(PlusIcon, { className: "crow-w-4 crow-h-4
|
|
6322
|
+
children: /* @__PURE__ */ jsx(PlusIcon, { className: "crow-w-4 crow-h-4" })
|
|
6170
6323
|
}
|
|
6171
6324
|
),
|
|
6172
6325
|
/* @__PURE__ */ jsx(
|
|
@@ -6175,29 +6328,53 @@ function CrowCopilot({
|
|
|
6175
6328
|
onClick: handleToggleHistory,
|
|
6176
6329
|
disabled: !isVerifiedUser,
|
|
6177
6330
|
"aria-disabled": !isVerifiedUser,
|
|
6178
|
-
className: `crow-p-2 crow-transition-colors
|
|
6331
|
+
className: `crow-p-2 crow-transition-colors crow-rounded ${!isVerifiedUser ? "crow-opacity-40 crow-cursor-not-allowed" : ""}`,
|
|
6332
|
+
style: {
|
|
6333
|
+
color: styles.colors.text + "80",
|
|
6334
|
+
background: showConversationList ? styles.colors.text + "10" : "transparent"
|
|
6335
|
+
},
|
|
6336
|
+
onMouseEnter: (e) => {
|
|
6337
|
+
if (isVerifiedUser) e.currentTarget.style.background = styles.colors.text + "10";
|
|
6338
|
+
},
|
|
6339
|
+
onMouseLeave: (e) => {
|
|
6340
|
+
if (!showConversationList) e.currentTarget.style.background = "transparent";
|
|
6341
|
+
},
|
|
6179
6342
|
"aria-label": "Conversation History",
|
|
6180
6343
|
title: isVerifiedUser ? "Conversation History" : "Sign in to view history",
|
|
6181
|
-
children: /* @__PURE__ */ jsx(HistoryIcon, { className: "crow-w-4 crow-h-4
|
|
6344
|
+
children: /* @__PURE__ */ jsx(HistoryIcon, { className: "crow-w-4 crow-h-4" })
|
|
6182
6345
|
}
|
|
6183
6346
|
),
|
|
6184
6347
|
canScrollRight && /* @__PURE__ */ jsx(
|
|
6185
6348
|
"button",
|
|
6186
6349
|
{
|
|
6187
6350
|
onClick: handleScrollRight,
|
|
6188
|
-
className: "crow-p-2
|
|
6351
|
+
className: "crow-p-2 crow-transition-colors crow-rounded",
|
|
6352
|
+
style: { color: styles.colors.text + "80" },
|
|
6353
|
+
onMouseEnter: (e) => {
|
|
6354
|
+
e.currentTarget.style.background = styles.colors.text + "10";
|
|
6355
|
+
},
|
|
6356
|
+
onMouseLeave: (e) => {
|
|
6357
|
+
e.currentTarget.style.background = "transparent";
|
|
6358
|
+
},
|
|
6189
6359
|
"aria-label": "Scroll tabs",
|
|
6190
6360
|
title: "Scroll tabs",
|
|
6191
|
-
children: /* @__PURE__ */ jsx(ChevronRightIcon, { className: "crow-w-4 crow-h-4
|
|
6361
|
+
children: /* @__PURE__ */ jsx(ChevronRightIcon, { className: "crow-w-4 crow-h-4" })
|
|
6192
6362
|
}
|
|
6193
6363
|
),
|
|
6194
6364
|
(forceShowClose ?? showClose) && (overrideOnClose ?? onClose) && /* @__PURE__ */ jsx(
|
|
6195
6365
|
"button",
|
|
6196
6366
|
{
|
|
6197
6367
|
onClick: overrideOnClose ?? onClose,
|
|
6198
|
-
className: "crow-p-2
|
|
6368
|
+
className: "crow-p-2 crow-transition-colors crow-rounded",
|
|
6369
|
+
style: { color: styles.colors.text + "80" },
|
|
6370
|
+
onMouseEnter: (e) => {
|
|
6371
|
+
e.currentTarget.style.background = styles.colors.text + "10";
|
|
6372
|
+
},
|
|
6373
|
+
onMouseLeave: (e) => {
|
|
6374
|
+
e.currentTarget.style.background = "transparent";
|
|
6375
|
+
},
|
|
6199
6376
|
"aria-label": "Close",
|
|
6200
|
-
children: /* @__PURE__ */ jsx(CloseIcon, { className: "crow-w-4 crow-h-4
|
|
6377
|
+
children: /* @__PURE__ */ jsx(CloseIcon, { className: "crow-w-4 crow-h-4" })
|
|
6201
6378
|
}
|
|
6202
6379
|
)
|
|
6203
6380
|
]
|
|
@@ -6211,7 +6388,7 @@ function CrowCopilot({
|
|
|
6211
6388
|
{
|
|
6212
6389
|
className: "crow-flex crow-items-center crow-gap-1.5 crow-px-3 crow-py-1.5 crow-border-b crow-text-xs",
|
|
6213
6390
|
style: {
|
|
6214
|
-
color: "
|
|
6391
|
+
color: styles.colors.text + "80",
|
|
6215
6392
|
borderColor: styles.colors.border
|
|
6216
6393
|
},
|
|
6217
6394
|
children: [
|
|
@@ -6248,7 +6425,14 @@ function CrowCopilot({
|
|
|
6248
6425
|
onClose: handleCloseConversationList
|
|
6249
6426
|
}
|
|
6250
6427
|
),
|
|
6251
|
-
showConversationList && !isVerifiedUser && /* @__PURE__ */ jsx(
|
|
6428
|
+
showConversationList && !isVerifiedUser && /* @__PURE__ */ jsx(
|
|
6429
|
+
"div",
|
|
6430
|
+
{
|
|
6431
|
+
className: "crow-mb-3 crow-rounded-xl crow-border crow-p-4",
|
|
6432
|
+
style: { background: styles.colors.text + "08", borderColor: styles.colors.border },
|
|
6433
|
+
children: /* @__PURE__ */ jsx("div", { className: "crow-text-sm", style: { color: styles.colors.text + "99" }, children: "Sign in to view conversation history." })
|
|
6434
|
+
}
|
|
6435
|
+
)
|
|
6252
6436
|
] }),
|
|
6253
6437
|
/* @__PURE__ */ jsx(AnimatePresence, { children: activeWorkflow && /* @__PURE__ */ jsx(
|
|
6254
6438
|
WorkflowPanel,
|
|
@@ -6301,7 +6485,7 @@ function CrowCopilot({
|
|
|
6301
6485
|
className: "crow-p-3 crow-border-t",
|
|
6302
6486
|
style: { borderColor: styles.colors.border },
|
|
6303
6487
|
children: [
|
|
6304
|
-
toolStatus && /* @__PURE__ */ jsxs("div", { className: "crow-mb-1 crow-flex crow-items-center crow-gap-2 crow-rounded-lg crow-border crow-
|
|
6488
|
+
toolStatus && /* @__PURE__ */ jsxs("div", { className: "crow-mb-1 crow-flex crow-items-center crow-gap-2 crow-rounded-lg crow-border crow-px-3 crow-py-2 crow-text-sm", style: { borderColor: styles.colors.border, background: styles.colors.border + "30" }, children: [
|
|
6305
6489
|
/* @__PURE__ */ jsxs("svg", { className: "crow-animate-spin crow-h-4 crow-w-4 crow-shrink-0 crow-text-[var(--crow-primary,#7c3aed)]", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", children: [
|
|
6306
6490
|
/* @__PURE__ */ jsx("circle", { className: "crow-opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }),
|
|
6307
6491
|
/* @__PURE__ */ jsx("path", { className: "crow-opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z" })
|
|
@@ -6350,7 +6534,8 @@ function CrowCopilot({
|
|
|
6350
6534
|
}
|
|
6351
6535
|
const isRight = position === "right";
|
|
6352
6536
|
const edgeSide = isRight ? "left" : "right";
|
|
6353
|
-
const
|
|
6537
|
+
const toggleIconColor = styles.colors.text + "80";
|
|
6538
|
+
const toggleIcon = isCollapsed ? /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: toggleIconColor, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx("path", { d: "M7.9 20A9 9 0 1 0 4 16.1L2 22Z" }) }) : /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: toggleIconColor, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: isRight ? /* @__PURE__ */ jsx("path", { d: "m9 18 6-6-6-6" }) : /* @__PURE__ */ jsx("path", { d: "m15 18-6-6 6-6" }) });
|
|
6354
6539
|
return /* @__PURE__ */ jsxs("div", { style: { position: "relative", flexShrink: 0, height: "100%" }, children: [
|
|
6355
6540
|
/* @__PURE__ */ jsx(
|
|
6356
6541
|
"button",
|
|
@@ -6369,8 +6554,8 @@ function CrowCopilot({
|
|
|
6369
6554
|
display: "flex",
|
|
6370
6555
|
alignItems: "center",
|
|
6371
6556
|
justifyContent: "center",
|
|
6372
|
-
background:
|
|
6373
|
-
border:
|
|
6557
|
+
background: styles.colors.background,
|
|
6558
|
+
border: `1px solid ${styles.colors.border}`,
|
|
6374
6559
|
[isRight ? "borderRight" : "borderLeft"]: "none",
|
|
6375
6560
|
borderRadius: isRight ? "8px 0 0 8px" : "0 8px 8px 0",
|
|
6376
6561
|
cursor: isCollapsed ? "pointer" : "col-resize",
|
|
@@ -6440,7 +6625,7 @@ function HistoryIcon({ className }) {
|
|
|
6440
6625
|
}
|
|
6441
6626
|
);
|
|
6442
6627
|
}
|
|
6443
|
-
function TabCloseIcon({ className }) {
|
|
6628
|
+
function TabCloseIcon({ className, style }) {
|
|
6444
6629
|
return /* @__PURE__ */ jsxs(
|
|
6445
6630
|
"svg",
|
|
6446
6631
|
{
|
|
@@ -6454,6 +6639,7 @@ function TabCloseIcon({ className }) {
|
|
|
6454
6639
|
strokeLinecap: "round",
|
|
6455
6640
|
strokeLinejoin: "round",
|
|
6456
6641
|
className,
|
|
6642
|
+
style,
|
|
6457
6643
|
children: [
|
|
6458
6644
|
/* @__PURE__ */ jsx("path", { d: "M18 6 6 18" }),
|
|
6459
6645
|
/* @__PURE__ */ jsx("path", { d: "m6 6 12 12" })
|