@agentiffai/design 1.3.5 → 1.3.7
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/copilotkit/index.cjs +368 -198
- package/dist/copilotkit/index.cjs.map +1 -1
- package/dist/copilotkit/index.d.cts +32 -4
- package/dist/copilotkit/index.d.ts +32 -4
- package/dist/copilotkit/index.js +340 -170
- package/dist/copilotkit/index.js.map +1 -1
- package/dist/index.cjs +1506 -435
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +137 -1
- package/dist/index.d.ts +137 -1
- package/dist/index.js +1557 -488
- package/dist/index.js.map +1 -1
- package/dist/layout/index.cjs +60 -6
- package/dist/layout/index.cjs.map +1 -1
- package/dist/layout/index.js +60 -6
- package/dist/layout/index.js.map +1 -1
- package/dist/theme/index.cjs +35 -0
- package/dist/theme/index.cjs.map +1 -1
- package/dist/theme/index.js +35 -0
- package/dist/theme/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
var button = require('@react-aria/button');
|
|
4
4
|
var react = require('react');
|
|
5
|
-
var
|
|
5
|
+
var styled8 = require('styled-components');
|
|
6
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
7
7
|
var reactUi = require('@copilotkit/react-ui');
|
|
8
8
|
var textfield = require('@react-aria/textfield');
|
|
9
9
|
|
|
10
10
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var styled8__default = /*#__PURE__*/_interopDefault(styled8);
|
|
13
13
|
|
|
14
14
|
// src/components/copilotkit/Button/Button.tsx
|
|
15
15
|
|
|
@@ -170,7 +170,7 @@ var tokens = {
|
|
|
170
170
|
|
|
171
171
|
// src/components/copilotkit/Button/Button.styles.ts
|
|
172
172
|
var variantStyles = {
|
|
173
|
-
primary:
|
|
173
|
+
primary: styled8.css`
|
|
174
174
|
background-color: ${tokens.colors.primary};
|
|
175
175
|
color: ${tokens.colors.text.primary};
|
|
176
176
|
border: none;
|
|
@@ -190,7 +190,7 @@ var variantStyles = {
|
|
|
190
190
|
outline-offset: 2px;
|
|
191
191
|
}
|
|
192
192
|
`,
|
|
193
|
-
secondary:
|
|
193
|
+
secondary: styled8.css`
|
|
194
194
|
background-color: transparent;
|
|
195
195
|
color: ${tokens.colors.text.primary};
|
|
196
196
|
border: 1px solid ${tokens.colors.border.default};
|
|
@@ -209,7 +209,7 @@ var variantStyles = {
|
|
|
209
209
|
outline-offset: 2px;
|
|
210
210
|
}
|
|
211
211
|
`,
|
|
212
|
-
icon:
|
|
212
|
+
icon: styled8.css`
|
|
213
213
|
background-color: transparent;
|
|
214
214
|
color: ${tokens.colors.text.primary};
|
|
215
215
|
border: none;
|
|
@@ -232,26 +232,26 @@ var variantStyles = {
|
|
|
232
232
|
`
|
|
233
233
|
};
|
|
234
234
|
var sizeStyles = {
|
|
235
|
-
small:
|
|
235
|
+
small: styled8.css`
|
|
236
236
|
padding: ${tokens.spacing.xs} ${tokens.spacing.sm};
|
|
237
237
|
font-size: ${tokens.typography.fontSize.sm};
|
|
238
238
|
min-width: 60px;
|
|
239
239
|
height: 28px;
|
|
240
240
|
`,
|
|
241
|
-
medium:
|
|
241
|
+
medium: styled8.css`
|
|
242
242
|
padding: ${tokens.spacing.sm} ${tokens.spacing.md};
|
|
243
243
|
font-size: ${tokens.typography.fontSize.base};
|
|
244
244
|
min-width: 80px;
|
|
245
245
|
height: 36px;
|
|
246
246
|
`,
|
|
247
|
-
large:
|
|
247
|
+
large: styled8.css`
|
|
248
248
|
padding: ${tokens.spacing.md} ${tokens.spacing.lg};
|
|
249
249
|
font-size: ${tokens.typography.fontSize.lg};
|
|
250
250
|
min-width: 100px;
|
|
251
251
|
height: 44px;
|
|
252
252
|
`
|
|
253
253
|
};
|
|
254
|
-
var StyledButton =
|
|
254
|
+
var StyledButton = styled8__default.default.button`
|
|
255
255
|
/* Base styles */
|
|
256
256
|
display: inline-flex;
|
|
257
257
|
align-items: center;
|
|
@@ -272,19 +272,19 @@ var StyledButton = styled4__default.default.button`
|
|
|
272
272
|
${({ $size, $variant }) => $variant !== "icon" && sizeStyles[$size]}
|
|
273
273
|
|
|
274
274
|
/* Icon variant size overrides */
|
|
275
|
-
${({ $variant, $size }) => $variant === "icon" &&
|
|
275
|
+
${({ $variant, $size }) => $variant === "icon" && styled8.css`
|
|
276
276
|
width: ${$size === "small" ? "28px" : $size === "large" ? "44px" : "36px"};
|
|
277
277
|
height: ${$size === "small" ? "28px" : $size === "large" ? "44px" : "36px"};
|
|
278
278
|
border-radius: ${tokens.borderRadius.sm};
|
|
279
279
|
`}
|
|
280
280
|
|
|
281
281
|
/* Pressed state */
|
|
282
|
-
${({ $isPressed }) => $isPressed &&
|
|
282
|
+
${({ $isPressed }) => $isPressed && styled8.css`
|
|
283
283
|
transform: scale(0.98);
|
|
284
284
|
`}
|
|
285
285
|
|
|
286
286
|
/* Loading state */
|
|
287
|
-
${({ $isLoading }) => $isLoading &&
|
|
287
|
+
${({ $isLoading }) => $isLoading && styled8.css`
|
|
288
288
|
cursor: wait;
|
|
289
289
|
opacity: 0.7;
|
|
290
290
|
`}
|
|
@@ -334,15 +334,15 @@ function Button({
|
|
|
334
334
|
);
|
|
335
335
|
}
|
|
336
336
|
Button.displayName = "Button";
|
|
337
|
-
var ActionsContainer =
|
|
337
|
+
var ActionsContainer = styled8__default.default.div`
|
|
338
338
|
display: flex;
|
|
339
339
|
gap: ${tokens.spacing.sm};
|
|
340
340
|
align-items: center;
|
|
341
341
|
|
|
342
|
-
${({ $layout }) => $layout === "horizontal" ?
|
|
342
|
+
${({ $layout }) => $layout === "horizontal" ? styled8.css`
|
|
343
343
|
flex-direction: row;
|
|
344
344
|
flex-wrap: wrap;
|
|
345
|
-
` :
|
|
345
|
+
` : styled8.css`
|
|
346
346
|
flex-direction: column;
|
|
347
347
|
align-items: stretch;
|
|
348
348
|
|
|
@@ -368,7 +368,7 @@ function Actions({ actions, layout = "horizontal", className }) {
|
|
|
368
368
|
)) });
|
|
369
369
|
}
|
|
370
370
|
Actions.displayName = "Actions";
|
|
371
|
-
var dotPulse =
|
|
371
|
+
var dotPulse = styled8.keyframes`
|
|
372
372
|
0%, 100% {
|
|
373
373
|
opacity: 0.3;
|
|
374
374
|
transform: scale(0.8);
|
|
@@ -378,7 +378,7 @@ var dotPulse = styled4.keyframes`
|
|
|
378
378
|
transform: scale(1);
|
|
379
379
|
}
|
|
380
380
|
`;
|
|
381
|
-
var fadeIn =
|
|
381
|
+
var fadeIn = styled8.keyframes`
|
|
382
382
|
from {
|
|
383
383
|
opacity: 0;
|
|
384
384
|
}
|
|
@@ -386,7 +386,7 @@ var fadeIn = styled4.keyframes`
|
|
|
386
386
|
opacity: 1;
|
|
387
387
|
}
|
|
388
388
|
`;
|
|
389
|
-
var blink =
|
|
389
|
+
var blink = styled8.keyframes`
|
|
390
390
|
0%, 49% {
|
|
391
391
|
opacity: 1;
|
|
392
392
|
}
|
|
@@ -394,7 +394,7 @@ var blink = styled4.keyframes`
|
|
|
394
394
|
opacity: 0;
|
|
395
395
|
}
|
|
396
396
|
`;
|
|
397
|
-
var ResponseContainer =
|
|
397
|
+
var ResponseContainer = styled8__default.default.div`
|
|
398
398
|
display: inline-flex;
|
|
399
399
|
align-items: center;
|
|
400
400
|
gap: ${tokens.spacing.sm};
|
|
@@ -406,13 +406,13 @@ var ResponseContainer = styled4__default.default.div`
|
|
|
406
406
|
max-width: fit-content;
|
|
407
407
|
margin: 0 auto;
|
|
408
408
|
`;
|
|
409
|
-
var LoadingDots =
|
|
409
|
+
var LoadingDots = styled8__default.default.div`
|
|
410
410
|
display: flex;
|
|
411
411
|
align-items: center;
|
|
412
412
|
gap: ${tokens.spacing.xs};
|
|
413
413
|
padding: 0 ${tokens.spacing.xs};
|
|
414
414
|
`;
|
|
415
|
-
var Dot =
|
|
415
|
+
var Dot = styled8__default.default.span`
|
|
416
416
|
width: ${tokens.spacing.xs};
|
|
417
417
|
height: ${tokens.spacing.xs};
|
|
418
418
|
border-radius: ${tokens.borderRadius.full};
|
|
@@ -420,7 +420,7 @@ var Dot = styled4__default.default.span`
|
|
|
420
420
|
animation: ${dotPulse} 1.4s ease-in-out infinite;
|
|
421
421
|
animation-delay: ${(props) => props.delay}s;
|
|
422
422
|
`;
|
|
423
|
-
var TypingIndicator =
|
|
423
|
+
var TypingIndicator = styled8__default.default.div`
|
|
424
424
|
display: flex;
|
|
425
425
|
align-items: center;
|
|
426
426
|
gap: ${tokens.spacing.xs};
|
|
@@ -433,14 +433,14 @@ var TypingIndicator = styled4__default.default.div`
|
|
|
433
433
|
animation: ${dotPulse} 1.4s ease-in-out infinite;
|
|
434
434
|
}
|
|
435
435
|
`;
|
|
436
|
-
var Message =
|
|
436
|
+
var Message = styled8__default.default.span`
|
|
437
437
|
font-size: ${tokens.typography.fontSize.sm};
|
|
438
438
|
color: ${tokens.colors.text.primary};
|
|
439
439
|
font-weight: ${tokens.typography.fontWeight.regular};
|
|
440
440
|
line-height: ${tokens.typography.lineHeight.normal};
|
|
441
441
|
white-space: nowrap;
|
|
442
442
|
`;
|
|
443
|
-
var StreamingText =
|
|
443
|
+
var StreamingText = styled8__default.default.div`
|
|
444
444
|
font-size: ${tokens.typography.fontSize.sm};
|
|
445
445
|
line-height: ${tokens.typography.lineHeight.normal};
|
|
446
446
|
color: ${tokens.colors.text.primary};
|
|
@@ -491,7 +491,7 @@ var Response = ({
|
|
|
491
491
|
}
|
|
492
492
|
return null;
|
|
493
493
|
};
|
|
494
|
-
var dotPulse2 =
|
|
494
|
+
var dotPulse2 = styled8.keyframes`
|
|
495
495
|
0%, 100% {
|
|
496
496
|
opacity: 0.3;
|
|
497
497
|
transform: scale(0.8);
|
|
@@ -501,7 +501,7 @@ var dotPulse2 = styled4.keyframes`
|
|
|
501
501
|
transform: scale(1);
|
|
502
502
|
}
|
|
503
503
|
`;
|
|
504
|
-
var shake =
|
|
504
|
+
var shake = styled8.keyframes`
|
|
505
505
|
0%, 100% {
|
|
506
506
|
transform: translateX(0);
|
|
507
507
|
}
|
|
@@ -512,7 +512,7 @@ var shake = styled4.keyframes`
|
|
|
512
512
|
transform: translateX(5px);
|
|
513
513
|
}
|
|
514
514
|
`;
|
|
515
|
-
var AgentStateContainer =
|
|
515
|
+
var AgentStateContainer = styled8__default.default.div`
|
|
516
516
|
display: inline-flex;
|
|
517
517
|
flex-direction: column;
|
|
518
518
|
align-items: center;
|
|
@@ -526,35 +526,35 @@ var AgentStateContainer = styled4__default.default.div`
|
|
|
526
526
|
max-width: fit-content;
|
|
527
527
|
margin: 0 auto;
|
|
528
528
|
`;
|
|
529
|
-
var StateContent =
|
|
529
|
+
var StateContent = styled8__default.default.div`
|
|
530
530
|
display: flex;
|
|
531
531
|
flex-direction: column;
|
|
532
532
|
gap: ${tokens.spacing.sm};
|
|
533
533
|
align-items: center;
|
|
534
534
|
width: 100%;
|
|
535
535
|
`;
|
|
536
|
-
var IdleIndicator =
|
|
536
|
+
var IdleIndicator = styled8__default.default.div`
|
|
537
537
|
width: ${tokens.spacing.xs};
|
|
538
538
|
height: ${tokens.spacing.xs};
|
|
539
539
|
background-color: ${tokens.colors.status.idle};
|
|
540
540
|
border-radius: ${tokens.borderRadius.full};
|
|
541
541
|
animation: ${dotPulse2} 2s infinite ease-in-out;
|
|
542
542
|
`;
|
|
543
|
-
var ErrorIndicator =
|
|
543
|
+
var ErrorIndicator = styled8__default.default.div`
|
|
544
544
|
width: ${tokens.spacing.xs};
|
|
545
545
|
height: ${tokens.spacing.xs};
|
|
546
546
|
background-color: ${tokens.colors.error};
|
|
547
547
|
border-radius: ${tokens.borderRadius.full};
|
|
548
548
|
animation: ${shake} 0.5s ease-in-out;
|
|
549
549
|
`;
|
|
550
|
-
var StateLabel =
|
|
550
|
+
var StateLabel = styled8__default.default.span`
|
|
551
551
|
font-size: ${tokens.typography.fontSize.sm};
|
|
552
552
|
font-weight: ${tokens.typography.fontWeight.regular};
|
|
553
553
|
color: ${tokens.colors.text.primary};
|
|
554
554
|
line-height: ${tokens.typography.lineHeight.normal};
|
|
555
555
|
white-space: nowrap;
|
|
556
556
|
`;
|
|
557
|
-
|
|
557
|
+
styled8__default.default.p`
|
|
558
558
|
font-size: ${tokens.typography.fontSize.sm};
|
|
559
559
|
color: ${tokens.colors.text.tertiary};
|
|
560
560
|
line-height: ${tokens.typography.lineHeight.normal};
|
|
@@ -562,7 +562,7 @@ styled4__default.default.p`
|
|
|
562
562
|
text-align: center;
|
|
563
563
|
white-space: nowrap;
|
|
564
564
|
`;
|
|
565
|
-
var ProgressBar =
|
|
565
|
+
var ProgressBar = styled8__default.default.div`
|
|
566
566
|
width: 100%;
|
|
567
567
|
height: ${tokens.spacing.xs};
|
|
568
568
|
background-color: ${tokens.colors.surface.elevated};
|
|
@@ -570,7 +570,7 @@ var ProgressBar = styled4__default.default.div`
|
|
|
570
570
|
overflow: hidden;
|
|
571
571
|
margin-top: ${tokens.spacing.xs};
|
|
572
572
|
`;
|
|
573
|
-
var ProgressBarFill =
|
|
573
|
+
var ProgressBarFill = styled8__default.default.div`
|
|
574
574
|
height: 100%;
|
|
575
575
|
width: ${(props) => Math.min(Math.max(props.progress, 0), 100)}%;
|
|
576
576
|
background: linear-gradient(135deg, ${tokens.colors.accent} 0%, ${tokens.colors.primary} 100%);
|
|
@@ -599,11 +599,11 @@ var AgentState = ({ state, message, progress, className }) => {
|
|
|
599
599
|
}
|
|
600
600
|
return null;
|
|
601
601
|
};
|
|
602
|
-
var Container =
|
|
602
|
+
var Container = styled8__default.default.div`
|
|
603
603
|
margin: ${tokens.spacing.sm} 0;
|
|
604
604
|
padding: 0 ${tokens.spacing.sm};
|
|
605
605
|
`;
|
|
606
|
-
var ToolName =
|
|
606
|
+
var ToolName = styled8__default.default.div`
|
|
607
607
|
font-size: ${tokens.typography.fontSize.xs};
|
|
608
608
|
color: ${tokens.colors.text.tertiary};
|
|
609
609
|
margin-bottom: ${tokens.spacing.xs};
|
|
@@ -653,7 +653,7 @@ var ActionExecutionAdapter = ({ message, inProgress }) => {
|
|
|
653
653
|
] });
|
|
654
654
|
};
|
|
655
655
|
ActionExecutionAdapter.displayName = "ActionExecutionAdapter";
|
|
656
|
-
var dotPulse3 =
|
|
656
|
+
var dotPulse3 = styled8.keyframes`
|
|
657
657
|
0%, 100% {
|
|
658
658
|
opacity: 0.3;
|
|
659
659
|
transform: scale(0.8);
|
|
@@ -663,7 +663,7 @@ var dotPulse3 = styled4.keyframes`
|
|
|
663
663
|
transform: scale(1);
|
|
664
664
|
}
|
|
665
665
|
`;
|
|
666
|
-
var pulse =
|
|
666
|
+
var pulse = styled8.keyframes`
|
|
667
667
|
0%, 100% {
|
|
668
668
|
opacity: 0.5;
|
|
669
669
|
transform: scale(1);
|
|
@@ -673,7 +673,7 @@ var pulse = styled4.keyframes`
|
|
|
673
673
|
transform: scale(1.2);
|
|
674
674
|
}
|
|
675
675
|
`;
|
|
676
|
-
var wave =
|
|
676
|
+
var wave = styled8.keyframes`
|
|
677
677
|
0%, 40%, 100% {
|
|
678
678
|
transform: translateY(0);
|
|
679
679
|
}
|
|
@@ -710,7 +710,7 @@ var getSizeValue = (size = "md") => {
|
|
|
710
710
|
};
|
|
711
711
|
}
|
|
712
712
|
};
|
|
713
|
-
var Container2 =
|
|
713
|
+
var Container2 = styled8__default.default.div`
|
|
714
714
|
display: inline-flex;
|
|
715
715
|
align-items: center;
|
|
716
716
|
gap: ${tokens.spacing.md};
|
|
@@ -722,7 +722,7 @@ var Container2 = styled4__default.default.div`
|
|
|
722
722
|
max-width: fit-content;
|
|
723
723
|
margin: 0 auto;
|
|
724
724
|
`;
|
|
725
|
-
var Avatar =
|
|
725
|
+
var Avatar = styled8__default.default.div`
|
|
726
726
|
width: ${(props) => getSizeValue(props.size).avatar};
|
|
727
727
|
height: ${(props) => getSizeValue(props.size).avatar};
|
|
728
728
|
border-radius: ${tokens.borderRadius.full};
|
|
@@ -733,23 +733,23 @@ var Avatar = styled4__default.default.div`
|
|
|
733
733
|
flex-shrink: 0;
|
|
734
734
|
box-shadow: ${tokens.shadows.glow.primary};
|
|
735
735
|
`;
|
|
736
|
-
var HeadphonesIcon =
|
|
736
|
+
var HeadphonesIcon = styled8__default.default.svg`
|
|
737
737
|
width: ${(props) => getSizeValue(props.size).icon};
|
|
738
738
|
height: ${(props) => getSizeValue(props.size).icon};
|
|
739
739
|
color: ${tokens.colors.text.primary};
|
|
740
740
|
`;
|
|
741
|
-
var Content =
|
|
741
|
+
var Content = styled8__default.default.div`
|
|
742
742
|
display: flex;
|
|
743
743
|
align-items: center;
|
|
744
744
|
gap: ${tokens.spacing.sm};
|
|
745
745
|
`;
|
|
746
|
-
var LoadingDots2 =
|
|
746
|
+
var LoadingDots2 = styled8__default.default.div`
|
|
747
747
|
display: flex;
|
|
748
748
|
align-items: center;
|
|
749
749
|
gap: ${(props) => props.variant === "wave" ? "2px" : `${tokens.spacing.xs}`};
|
|
750
750
|
padding: 0 ${tokens.spacing.xs};
|
|
751
751
|
`;
|
|
752
|
-
var Dot2 =
|
|
752
|
+
var Dot2 = styled8__default.default.span`
|
|
753
753
|
width: ${(props) => getSizeValue(props.size).dotSize};
|
|
754
754
|
height: ${(props) => getSizeValue(props.size).dotSize};
|
|
755
755
|
border-radius: ${tokens.borderRadius.full};
|
|
@@ -767,7 +767,7 @@ var Dot2 = styled4__default.default.span`
|
|
|
767
767
|
}}
|
|
768
768
|
1.4s ease-in-out infinite;
|
|
769
769
|
`;
|
|
770
|
-
var Message2 =
|
|
770
|
+
var Message2 = styled8__default.default.span`
|
|
771
771
|
font-size: ${(props) => getSizeValue(props.size).fontSize};
|
|
772
772
|
color: ${tokens.colors.text.secondary};
|
|
773
773
|
font-weight: ${tokens.typography.fontWeight.regular};
|
|
@@ -827,8 +827,8 @@ function AssistantThinking({
|
|
|
827
827
|
);
|
|
828
828
|
}
|
|
829
829
|
AssistantThinking.displayName = "AssistantThinking";
|
|
830
|
-
var Container3 =
|
|
831
|
-
font-family: ${(props) => props
|
|
830
|
+
var Container3 = styled8__default.default.div`
|
|
831
|
+
font-family: ${(props) => props.$variant === "code" ? tokens.typography.fontFamily.monospace : tokens.typography.fontFamily.primary};
|
|
832
832
|
white-space: pre-wrap;
|
|
833
833
|
word-break: break-word;
|
|
834
834
|
line-height: ${tokens.typography.lineHeight.normal};
|
|
@@ -836,7 +836,7 @@ var Container3 = styled4__default.default.div`
|
|
|
836
836
|
text-rendering: optimizeSpeed;
|
|
837
837
|
contain: content;
|
|
838
838
|
`;
|
|
839
|
-
var Cursor =
|
|
839
|
+
var Cursor = styled8__default.default.span`
|
|
840
840
|
display: inline-block;
|
|
841
841
|
width: 2px;
|
|
842
842
|
height: 1em;
|
|
@@ -860,17 +860,15 @@ var StreamingTextBase = ({
|
|
|
860
860
|
content,
|
|
861
861
|
isStreaming = false,
|
|
862
862
|
typingSpeed: _typingSpeed = 50,
|
|
863
|
-
//
|
|
863
|
+
// Reserved for future use
|
|
864
864
|
cursor = true,
|
|
865
865
|
variant = "default",
|
|
866
866
|
onStreamComplete,
|
|
867
867
|
className
|
|
868
868
|
}) => {
|
|
869
|
-
const [displayedText, setDisplayedText] = react.useState(content);
|
|
870
869
|
const wasStreamingRef = react.useRef(isStreaming);
|
|
871
870
|
const completionCalledRef = react.useRef(false);
|
|
872
871
|
react.useEffect(() => {
|
|
873
|
-
setDisplayedText(content);
|
|
874
872
|
if (wasStreamingRef.current && !isStreaming && !completionCalledRef.current) {
|
|
875
873
|
completionCalledRef.current = true;
|
|
876
874
|
onStreamComplete?.();
|
|
@@ -879,45 +877,48 @@ var StreamingTextBase = ({
|
|
|
879
877
|
completionCalledRef.current = false;
|
|
880
878
|
}
|
|
881
879
|
wasStreamingRef.current = isStreaming;
|
|
882
|
-
}, [
|
|
880
|
+
}, [isStreaming, onStreamComplete]);
|
|
883
881
|
const showCursor = isStreaming && cursor;
|
|
884
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(Container3, { variant, className, children: [
|
|
885
|
-
|
|
882
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Container3, { $variant: variant, className, children: [
|
|
883
|
+
content,
|
|
886
884
|
showCursor && /* @__PURE__ */ jsxRuntime.jsx(Cursor, {})
|
|
887
885
|
] });
|
|
888
886
|
};
|
|
889
887
|
var StreamingText2 = react.memo(StreamingTextBase);
|
|
890
888
|
StreamingText2.displayName = "StreamingText";
|
|
891
|
-
var MessageContainer =
|
|
889
|
+
var MessageContainer = styled8__default.default.div`
|
|
892
890
|
display: flex;
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
padding: ${tokens.spacing.
|
|
891
|
+
flex-direction: column;
|
|
892
|
+
gap: ${tokens.spacing.xs};
|
|
893
|
+
padding: ${tokens.spacing.xs} 0;
|
|
896
894
|
max-width: 100%;
|
|
897
895
|
/* GPU acceleration hint for smooth rendering during streaming */
|
|
898
896
|
will-change: contents;
|
|
899
897
|
contain: content;
|
|
900
898
|
`;
|
|
901
|
-
var AvatarContainer =
|
|
899
|
+
var AvatarContainer = styled8__default.default.div`
|
|
900
|
+
display: flex;
|
|
901
|
+
align-items: center;
|
|
902
|
+
gap: ${tokens.spacing.xs};
|
|
902
903
|
flex-shrink: 0;
|
|
903
904
|
`;
|
|
904
|
-
var Avatar2 =
|
|
905
|
-
width:
|
|
906
|
-
height:
|
|
905
|
+
var Avatar2 = styled8__default.default.img`
|
|
906
|
+
width: 20px;
|
|
907
|
+
height: 20px;
|
|
907
908
|
border-radius: ${tokens.borderRadius.full};
|
|
908
909
|
object-fit: cover;
|
|
909
910
|
background-color: transparent;
|
|
910
911
|
`;
|
|
911
|
-
var AvatarInitials =
|
|
912
|
-
width:
|
|
913
|
-
height:
|
|
912
|
+
var AvatarInitials = styled8__default.default.div`
|
|
913
|
+
width: 20px;
|
|
914
|
+
height: 20px;
|
|
914
915
|
border-radius: ${tokens.borderRadius.full};
|
|
915
916
|
overflow: hidden;
|
|
916
917
|
display: flex;
|
|
917
918
|
align-items: center;
|
|
918
919
|
justify-content: center;
|
|
919
920
|
background-color: ${tokens.colors.secondary};
|
|
920
|
-
padding:
|
|
921
|
+
padding: 2px;
|
|
921
922
|
box-sizing: border-box;
|
|
922
923
|
|
|
923
924
|
img {
|
|
@@ -926,16 +927,20 @@ var AvatarInitials = styled4__default.default.div`
|
|
|
926
927
|
object-fit: contain;
|
|
927
928
|
}
|
|
928
929
|
`;
|
|
929
|
-
var
|
|
930
|
-
|
|
930
|
+
var AvatarLabel = styled8__default.default.span`
|
|
931
|
+
font-size: ${tokens.typography.fontSize.xs};
|
|
932
|
+
font-weight: ${tokens.typography.fontWeight.medium};
|
|
933
|
+
color: ${tokens.colors.text.secondary};
|
|
934
|
+
`;
|
|
935
|
+
var ContentContainer = styled8__default.default.div`
|
|
936
|
+
width: 100%;
|
|
931
937
|
min-width: 0;
|
|
932
938
|
`;
|
|
933
|
-
var MessageContent =
|
|
939
|
+
var MessageContent = styled8__default.default.div`
|
|
934
940
|
/* Use solid color instead of backdrop-filter for performance during streaming */
|
|
935
941
|
background-color: ${tokens.colors.surface.elevated};
|
|
936
|
-
padding: ${tokens.spacing.sm}
|
|
942
|
+
padding: ${tokens.spacing.sm};
|
|
937
943
|
border-radius: ${tokens.borderRadius.lg};
|
|
938
|
-
border-top-left-radius: ${tokens.borderRadius.sm};
|
|
939
944
|
color: ${tokens.colors.text.primary};
|
|
940
945
|
font-size: ${tokens.typography.fontSize.sm};
|
|
941
946
|
line-height: ${tokens.typography.lineHeight.normal};
|
|
@@ -945,17 +950,16 @@ var MessageContent = styled4__default.default.div`
|
|
|
945
950
|
/* Optimize text rendering */
|
|
946
951
|
text-rendering: optimizeSpeed;
|
|
947
952
|
`;
|
|
948
|
-
var LoadingDots3 =
|
|
953
|
+
var LoadingDots3 = styled8__default.default.div`
|
|
949
954
|
display: flex;
|
|
950
955
|
gap: ${tokens.spacing.xs};
|
|
951
|
-
padding: ${tokens.spacing.sm}
|
|
956
|
+
padding: ${tokens.spacing.sm};
|
|
952
957
|
/* Use solid color instead of backdrop-filter for performance */
|
|
953
958
|
background-color: ${tokens.colors.surface.elevated};
|
|
954
959
|
border-radius: ${tokens.borderRadius.lg};
|
|
955
|
-
border-top-left-radius: ${tokens.borderRadius.sm};
|
|
956
960
|
width: fit-content;
|
|
957
961
|
`;
|
|
958
|
-
var pulse2 =
|
|
962
|
+
var pulse2 = styled8.keyframes`
|
|
959
963
|
0%, 100% {
|
|
960
964
|
opacity: 0.4;
|
|
961
965
|
}
|
|
@@ -963,7 +967,7 @@ var pulse2 = styled4.keyframes`
|
|
|
963
967
|
opacity: 1;
|
|
964
968
|
}
|
|
965
969
|
`;
|
|
966
|
-
var LoadingDot =
|
|
970
|
+
var LoadingDot = styled8__default.default.div`
|
|
967
971
|
width: ${tokens.spacing.sm};
|
|
968
972
|
height: ${tokens.spacing.sm};
|
|
969
973
|
border-radius: ${tokens.borderRadius.full};
|
|
@@ -972,7 +976,7 @@ var LoadingDot = styled4__default.default.div`
|
|
|
972
976
|
animation: ${pulse2} 1.4s ease-in-out infinite;
|
|
973
977
|
animation-delay: ${(props) => props.delay}s;
|
|
974
978
|
`;
|
|
975
|
-
var FileAttachmentContainer =
|
|
979
|
+
var FileAttachmentContainer = styled8__default.default.div`
|
|
976
980
|
display: flex;
|
|
977
981
|
align-items: center;
|
|
978
982
|
gap: ${tokens.spacing.sm};
|
|
@@ -1008,7 +1012,7 @@ var FileAttachmentContainer = styled4__default.default.div`
|
|
|
1008
1012
|
}
|
|
1009
1013
|
`}
|
|
1010
1014
|
`;
|
|
1011
|
-
var FileIconContainer =
|
|
1015
|
+
var FileIconContainer = styled8__default.default.div`
|
|
1012
1016
|
flex-shrink: 0;
|
|
1013
1017
|
width: ${tokens.spacing.xl};
|
|
1014
1018
|
height: ${tokens.spacing.xl};
|
|
@@ -1018,14 +1022,14 @@ var FileIconContainer = styled4__default.default.div`
|
|
|
1018
1022
|
font-size: ${tokens.typography.fontSize["2xl"]};
|
|
1019
1023
|
line-height: 1;
|
|
1020
1024
|
`;
|
|
1021
|
-
var FileInfo =
|
|
1025
|
+
var FileInfo = styled8__default.default.div`
|
|
1022
1026
|
flex: 1;
|
|
1023
1027
|
min-width: 0;
|
|
1024
1028
|
display: flex;
|
|
1025
1029
|
flex-direction: column;
|
|
1026
1030
|
gap: 2px;
|
|
1027
1031
|
`;
|
|
1028
|
-
var FileTitle =
|
|
1032
|
+
var FileTitle = styled8__default.default.div`
|
|
1029
1033
|
font-size: ${tokens.typography.fontSize.sm};
|
|
1030
1034
|
font-weight: ${tokens.typography.fontWeight.medium};
|
|
1031
1035
|
color: ${tokens.colors.text.primary};
|
|
@@ -1035,7 +1039,7 @@ var FileTitle = styled4__default.default.div`
|
|
|
1035
1039
|
text-overflow: ellipsis;
|
|
1036
1040
|
white-space: nowrap;
|
|
1037
1041
|
`;
|
|
1038
|
-
var FileMetadata =
|
|
1042
|
+
var FileMetadata = styled8__default.default.div`
|
|
1039
1043
|
display: flex;
|
|
1040
1044
|
align-items: center;
|
|
1041
1045
|
gap: ${tokens.spacing.xs};
|
|
@@ -1045,7 +1049,7 @@ var FileMetadata = styled4__default.default.div`
|
|
|
1045
1049
|
line-height: ${tokens.typography.lineHeight.tight};
|
|
1046
1050
|
overflow: hidden;
|
|
1047
1051
|
`;
|
|
1048
|
-
var FileSubtitle =
|
|
1052
|
+
var FileSubtitle = styled8__default.default.span`
|
|
1049
1053
|
color: ${tokens.colors.text.tertiary};
|
|
1050
1054
|
white-space: nowrap;
|
|
1051
1055
|
overflow: hidden;
|
|
@@ -1101,13 +1105,13 @@ var FileAttachment = ({
|
|
|
1101
1105
|
}
|
|
1102
1106
|
);
|
|
1103
1107
|
};
|
|
1104
|
-
var AttachmentsContainer =
|
|
1108
|
+
var AttachmentsContainer = styled8__default.default.div`
|
|
1105
1109
|
display: flex;
|
|
1106
1110
|
flex-direction: column;
|
|
1107
1111
|
gap: ${tokens.spacing.sm};
|
|
1108
1112
|
margin-top: ${tokens.spacing.sm};
|
|
1109
1113
|
`;
|
|
1110
|
-
var ActionButton =
|
|
1114
|
+
var ActionButton = styled8__default.default.button`
|
|
1111
1115
|
display: inline-flex;
|
|
1112
1116
|
align-items: center;
|
|
1113
1117
|
gap: ${tokens.spacing.xs};
|
|
@@ -1131,19 +1135,19 @@ var ActionButton = styled4__default.default.button`
|
|
|
1131
1135
|
transform: scale(0.98);
|
|
1132
1136
|
}
|
|
1133
1137
|
`;
|
|
1134
|
-
var ActionsContainer2 =
|
|
1138
|
+
var ActionsContainer2 = styled8__default.default.div`
|
|
1135
1139
|
display: flex;
|
|
1136
1140
|
gap: ${tokens.spacing.xs};
|
|
1137
1141
|
flex-wrap: wrap;
|
|
1138
1142
|
margin-top: ${tokens.spacing.sm};
|
|
1139
1143
|
`;
|
|
1140
|
-
var MessageTime =
|
|
1144
|
+
var MessageTime = styled8__default.default.time`
|
|
1141
1145
|
font-size: ${tokens.typography.fontSize.xs};
|
|
1142
1146
|
color: ${tokens.colors.text.tertiary};
|
|
1143
1147
|
margin-top: ${tokens.spacing.xs};
|
|
1144
1148
|
display: block;
|
|
1145
1149
|
`;
|
|
1146
|
-
var StreamingIndicator =
|
|
1150
|
+
var StreamingIndicator = styled8__default.default.span`
|
|
1147
1151
|
display: inline-block;
|
|
1148
1152
|
width: ${tokens.spacing.xs};
|
|
1149
1153
|
height: ${tokens.spacing.xs};
|
|
@@ -1207,7 +1211,10 @@ var AssistantMessageBase = ({
|
|
|
1207
1211
|
] });
|
|
1208
1212
|
};
|
|
1209
1213
|
return /* @__PURE__ */ jsxRuntime.jsxs(MessageContainer, { className, children: [
|
|
1210
|
-
/* @__PURE__ */ jsxRuntime.
|
|
1214
|
+
/* @__PURE__ */ jsxRuntime.jsxs(AvatarContainer, { children: [
|
|
1215
|
+
avatarUrl ? /* @__PURE__ */ jsxRuntime.jsx(Avatar2, { src: avatarUrl, alt: "Assistant avatar" }) : /* @__PURE__ */ jsxRuntime.jsx(AvatarInitials, { children: /* @__PURE__ */ jsxRuntime.jsx(Avatar2, { src: "/assets/avatar-transparent-bg.png", alt: "AI Assistant" }) }),
|
|
1216
|
+
/* @__PURE__ */ jsxRuntime.jsx(AvatarLabel, { children: "Assistant" })
|
|
1217
|
+
] }),
|
|
1211
1218
|
/* @__PURE__ */ jsxRuntime.jsx(ContentContainer, { children: renderContent() })
|
|
1212
1219
|
] });
|
|
1213
1220
|
};
|
|
@@ -1217,7 +1224,7 @@ var TOOL_CALL_MARKER_REGEX = /<!--TOOL_CALL:([^:]+):(.+?)-->/g;
|
|
|
1217
1224
|
function stripToolCallMarkers(content) {
|
|
1218
1225
|
return content.replace(TOOL_CALL_MARKER_REGEX, "").trim();
|
|
1219
1226
|
}
|
|
1220
|
-
var GenerativeUIContainer =
|
|
1227
|
+
var GenerativeUIContainer = styled8__default.default.div`
|
|
1221
1228
|
margin-top: ${tokens.spacing.sm};
|
|
1222
1229
|
margin-bottom: ${tokens.spacing.sm};
|
|
1223
1230
|
`;
|
|
@@ -1266,7 +1273,53 @@ var AssistantMessageAdapterBase = ({
|
|
|
1266
1273
|
};
|
|
1267
1274
|
var AssistantMessageAdapter = react.memo(AssistantMessageAdapterBase);
|
|
1268
1275
|
AssistantMessageAdapter.displayName = "AssistantMessageAdapter";
|
|
1269
|
-
|
|
1276
|
+
function createAssistantMessageAdapter(ThinkingIndicator, ToolCallsComponent) {
|
|
1277
|
+
const CustomAssistantMessageAdapter = ({
|
|
1278
|
+
message,
|
|
1279
|
+
isLoading,
|
|
1280
|
+
isGenerating,
|
|
1281
|
+
isCurrentMessage
|
|
1282
|
+
}) => {
|
|
1283
|
+
const showThinking = isLoading || isGenerating && !message?.content;
|
|
1284
|
+
const shouldShowToolCalls = isCurrentMessage && ToolCallsComponent;
|
|
1285
|
+
const rawContent = message?.content || "";
|
|
1286
|
+
const content = stripToolCallMarkers(rawContent);
|
|
1287
|
+
let generativeUIOutput = null;
|
|
1288
|
+
const msgWithUI = message;
|
|
1289
|
+
if (msgWithUI && typeof msgWithUI.generativeUI === "function") {
|
|
1290
|
+
try {
|
|
1291
|
+
generativeUIOutput = msgWithUI.generativeUI();
|
|
1292
|
+
} catch (e) {
|
|
1293
|
+
console.warn("[AssistantMessageAdapter] Error rendering generativeUI:", e);
|
|
1294
|
+
}
|
|
1295
|
+
}
|
|
1296
|
+
const attachments = [];
|
|
1297
|
+
if (showThinking) {
|
|
1298
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1299
|
+
ThinkingIndicator ? /* @__PURE__ */ jsxRuntime.jsx(ThinkingIndicator, { isLoading, isGenerating }) : /* @__PURE__ */ jsxRuntime.jsx(AssistantThinking, { message: "Thinking..." }),
|
|
1300
|
+
shouldShowToolCalls && /* @__PURE__ */ jsxRuntime.jsx(ToolCallsComponent, {})
|
|
1301
|
+
] });
|
|
1302
|
+
}
|
|
1303
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1304
|
+
shouldShowToolCalls && /* @__PURE__ */ jsxRuntime.jsx(ToolCallsComponent, {}),
|
|
1305
|
+
generativeUIOutput && /* @__PURE__ */ jsxRuntime.jsx(GenerativeUIContainer, { children: generativeUIOutput }),
|
|
1306
|
+
content && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1307
|
+
AssistantMessage,
|
|
1308
|
+
{
|
|
1309
|
+
content,
|
|
1310
|
+
avatarInitials: "AI",
|
|
1311
|
+
isLoading: false,
|
|
1312
|
+
isStreaming: isGenerating,
|
|
1313
|
+
attachments,
|
|
1314
|
+
enableMarkdown: true
|
|
1315
|
+
}
|
|
1316
|
+
)
|
|
1317
|
+
] });
|
|
1318
|
+
};
|
|
1319
|
+
CustomAssistantMessageAdapter.displayName = "CustomAssistantMessageAdapter";
|
|
1320
|
+
return react.memo(CustomAssistantMessageAdapter);
|
|
1321
|
+
}
|
|
1322
|
+
var ChatInputContainer = styled8__default.default.div`
|
|
1270
1323
|
display: flex;
|
|
1271
1324
|
flex-direction: column;
|
|
1272
1325
|
width: 100%;
|
|
@@ -1282,7 +1335,7 @@ var ChatInputContainer = styled4__default.default.div`
|
|
|
1282
1335
|
padding: ${tokens.spacing.md};
|
|
1283
1336
|
}
|
|
1284
1337
|
`;
|
|
1285
|
-
var SuggestionsWrapper =
|
|
1338
|
+
var SuggestionsWrapper = styled8__default.default.div`
|
|
1286
1339
|
display: flex;
|
|
1287
1340
|
flex-direction: row;
|
|
1288
1341
|
flex-wrap: wrap;
|
|
@@ -1291,7 +1344,7 @@ var SuggestionsWrapper = styled4__default.default.div`
|
|
|
1291
1344
|
width: 100%;
|
|
1292
1345
|
box-sizing: border-box;
|
|
1293
1346
|
`;
|
|
1294
|
-
var SuggestionButton =
|
|
1347
|
+
var SuggestionButton = styled8__default.default.button`
|
|
1295
1348
|
padding: ${tokens.spacing.sm} ${tokens.spacing.md};
|
|
1296
1349
|
font-family: ${tokens.typography.fontFamily.primary};
|
|
1297
1350
|
font-size: 13px;
|
|
@@ -1330,7 +1383,7 @@ var SuggestionButton = styled4__default.default.button`
|
|
|
1330
1383
|
opacity: 0.4;
|
|
1331
1384
|
}
|
|
1332
1385
|
`;
|
|
1333
|
-
var InputWrapper =
|
|
1386
|
+
var InputWrapper = styled8__default.default.div`
|
|
1334
1387
|
display: flex;
|
|
1335
1388
|
align-items: flex-end; /* Align button to bottom when textarea expands */
|
|
1336
1389
|
gap: ${tokens.spacing.sm};
|
|
@@ -1348,7 +1401,7 @@ var InputWrapper = styled4__default.default.div`
|
|
|
1348
1401
|
background-color: rgba(50, 50, 52, 0.6);
|
|
1349
1402
|
}
|
|
1350
1403
|
`;
|
|
1351
|
-
var InputField =
|
|
1404
|
+
var InputField = styled8__default.default.textarea`
|
|
1352
1405
|
flex: 1;
|
|
1353
1406
|
border: none;
|
|
1354
1407
|
outline: none;
|
|
@@ -1373,7 +1426,7 @@ var InputField = styled4__default.default.textarea`
|
|
|
1373
1426
|
cursor: not-allowed;
|
|
1374
1427
|
}
|
|
1375
1428
|
`;
|
|
1376
|
-
var SubmitButton =
|
|
1429
|
+
var SubmitButton = styled8__default.default.button`
|
|
1377
1430
|
display: flex;
|
|
1378
1431
|
align-items: center;
|
|
1379
1432
|
justify-content: center;
|
|
@@ -1452,7 +1505,6 @@ var ChatInput = ({
|
|
|
1452
1505
|
if (inputRef.current) {
|
|
1453
1506
|
inputRef.current.style.height = "auto";
|
|
1454
1507
|
}
|
|
1455
|
-
inputRef.current?.focus();
|
|
1456
1508
|
}
|
|
1457
1509
|
};
|
|
1458
1510
|
const handleSuggestionClick = (suggestionText) => {
|
|
@@ -1558,7 +1610,7 @@ ChatInput.displayName = "ChatInput";
|
|
|
1558
1610
|
var InputAdapter = ({
|
|
1559
1611
|
inProgress,
|
|
1560
1612
|
onSend,
|
|
1561
|
-
isVisible = true
|
|
1613
|
+
isVisible: _isVisible = true
|
|
1562
1614
|
}) => {
|
|
1563
1615
|
const [value, setValue] = react.useState("");
|
|
1564
1616
|
const [isSubmitting, setIsSubmitting] = react.useState(false);
|
|
@@ -1602,7 +1654,7 @@ var InputAdapter = ({
|
|
|
1602
1654
|
onSubmit: handleSubmit,
|
|
1603
1655
|
placeholder: "Ask, write or search for anything...",
|
|
1604
1656
|
isDisabled: shouldDisableInput,
|
|
1605
|
-
autoFocus:
|
|
1657
|
+
autoFocus: false,
|
|
1606
1658
|
"aria-label": "Chat message input",
|
|
1607
1659
|
suggestions: [{ text: "Explore workflows" }],
|
|
1608
1660
|
onSuggestionSelect: handleSuggestionSelect
|
|
@@ -1610,7 +1662,7 @@ var InputAdapter = ({
|
|
|
1610
1662
|
);
|
|
1611
1663
|
};
|
|
1612
1664
|
InputAdapter.displayName = "InputAdapter";
|
|
1613
|
-
var StyledUserMessage =
|
|
1665
|
+
var StyledUserMessage = styled8__default.default.button`
|
|
1614
1666
|
/* Base styles */
|
|
1615
1667
|
display: inline-flex;
|
|
1616
1668
|
align-items: center;
|
|
@@ -1625,6 +1677,7 @@ var StyledUserMessage = styled4__default.default.button`
|
|
|
1625
1677
|
user-select: none;
|
|
1626
1678
|
white-space: pre-wrap;
|
|
1627
1679
|
word-wrap: break-word;
|
|
1680
|
+
word-break: break-word;
|
|
1628
1681
|
position: relative;
|
|
1629
1682
|
text-align: left;
|
|
1630
1683
|
|
|
@@ -1679,7 +1732,7 @@ var StyledUserMessage = styled4__default.default.button`
|
|
|
1679
1732
|
}
|
|
1680
1733
|
}
|
|
1681
1734
|
|
|
1682
|
-
${({ $isPressed }) => $isPressed &&
|
|
1735
|
+
${({ $isPressed }) => $isPressed && styled8.css`
|
|
1683
1736
|
transform: translateY(0) scale(0.98);
|
|
1684
1737
|
box-shadow: ${tokens.shadows.sm};
|
|
1685
1738
|
|
|
@@ -1745,7 +1798,7 @@ function UserMessageBase({
|
|
|
1745
1798
|
}
|
|
1746
1799
|
var UserMessage = react.memo(UserMessageBase);
|
|
1747
1800
|
UserMessage.displayName = "UserMessage";
|
|
1748
|
-
var UserMessageWrapper =
|
|
1801
|
+
var UserMessageWrapper = styled8__default.default.div`
|
|
1749
1802
|
display: flex;
|
|
1750
1803
|
justify-content: flex-end;
|
|
1751
1804
|
width: 100%;
|
|
@@ -1765,7 +1818,7 @@ var UserMessageAdapterBase = ({
|
|
|
1765
1818
|
};
|
|
1766
1819
|
var UserMessageAdapter = react.memo(UserMessageAdapterBase);
|
|
1767
1820
|
UserMessageAdapter.displayName = "UserMessageAdapter";
|
|
1768
|
-
var pulse3 =
|
|
1821
|
+
var pulse3 = styled8.keyframes`
|
|
1769
1822
|
0%, 100% {
|
|
1770
1823
|
opacity: 1;
|
|
1771
1824
|
transform: scale(1);
|
|
@@ -1775,7 +1828,7 @@ var pulse3 = styled4.keyframes`
|
|
|
1775
1828
|
transform: scale(1.1);
|
|
1776
1829
|
}
|
|
1777
1830
|
`;
|
|
1778
|
-
var Container4 =
|
|
1831
|
+
var Container4 = styled8__default.default.div`
|
|
1779
1832
|
display: inline-flex;
|
|
1780
1833
|
align-items: center;
|
|
1781
1834
|
gap: ${(props) => {
|
|
@@ -1791,7 +1844,7 @@ var Container4 = styled4__default.default.div`
|
|
|
1791
1844
|
}};
|
|
1792
1845
|
font-family: ${tokens.typography.fontFamily.primary};
|
|
1793
1846
|
`;
|
|
1794
|
-
var StatusDot =
|
|
1847
|
+
var StatusDot = styled8__default.default.div`
|
|
1795
1848
|
width: ${(props) => {
|
|
1796
1849
|
if (props.variant === "badge") {
|
|
1797
1850
|
switch (props.size) {
|
|
@@ -1852,7 +1905,7 @@ var StatusDot = styled4__default.default.div`
|
|
|
1852
1905
|
animation: ${(props) => props.status === "streaming" ? pulse3 : "none"} 2s ease-in-out infinite;
|
|
1853
1906
|
flex-shrink: 0;
|
|
1854
1907
|
`;
|
|
1855
|
-
var Label =
|
|
1908
|
+
var Label = styled8__default.default.span`
|
|
1856
1909
|
font-size: ${(props) => {
|
|
1857
1910
|
if (props.variant === "badge") {
|
|
1858
1911
|
switch (props.size) {
|
|
@@ -1879,7 +1932,7 @@ var Label = styled4__default.default.span`
|
|
|
1879
1932
|
color: ${tokens.colors.text.secondary};
|
|
1880
1933
|
line-height: ${tokens.typography.lineHeight.tight};
|
|
1881
1934
|
`;
|
|
1882
|
-
var BadgeContainer =
|
|
1935
|
+
var BadgeContainer = styled8__default.default.div`
|
|
1883
1936
|
display: inline-flex;
|
|
1884
1937
|
align-items: center;
|
|
1885
1938
|
gap: ${(props) => {
|
|
@@ -1956,7 +2009,7 @@ var StreamStatusIndicator = ({
|
|
|
1956
2009
|
return /* @__PURE__ */ jsxRuntime.jsx(Container4, { size, className, role: "status", "aria-label": getStatusLabel(status), children: content });
|
|
1957
2010
|
};
|
|
1958
2011
|
StreamStatusIndicator.displayName = "StreamStatusIndicator";
|
|
1959
|
-
var HeaderContainer =
|
|
2012
|
+
var HeaderContainer = styled8__default.default.header`
|
|
1960
2013
|
display: flex;
|
|
1961
2014
|
align-items: center;
|
|
1962
2015
|
justify-content: space-between;
|
|
@@ -1972,14 +2025,14 @@ var HeaderContainer = styled4__default.default.header`
|
|
|
1972
2025
|
padding: ${tokens.spacing.sm} ${tokens.spacing.md};
|
|
1973
2026
|
}
|
|
1974
2027
|
`;
|
|
1975
|
-
var HeaderContent =
|
|
2028
|
+
var HeaderContent = styled8__default.default.div`
|
|
1976
2029
|
display: flex;
|
|
1977
2030
|
flex-direction: column;
|
|
1978
2031
|
gap: ${tokens.spacing.xs};
|
|
1979
2032
|
flex: 1;
|
|
1980
2033
|
min-width: 0;
|
|
1981
2034
|
`;
|
|
1982
|
-
var HeaderTitle =
|
|
2035
|
+
var HeaderTitle = styled8__default.default.h1`
|
|
1983
2036
|
margin: 0;
|
|
1984
2037
|
font-size: ${tokens.typography.fontSize.base};
|
|
1985
2038
|
font-weight: ${tokens.typography.fontWeight.semibold};
|
|
@@ -1990,7 +2043,7 @@ var HeaderTitle = styled4__default.default.h1`
|
|
|
1990
2043
|
text-overflow: ellipsis;
|
|
1991
2044
|
white-space: nowrap;
|
|
1992
2045
|
`;
|
|
1993
|
-
var HeaderSubtitle =
|
|
2046
|
+
var HeaderSubtitle = styled8__default.default.p`
|
|
1994
2047
|
margin: 0;
|
|
1995
2048
|
font-size: ${tokens.typography.fontSize.sm};
|
|
1996
2049
|
color: ${tokens.colors.text.secondary};
|
|
@@ -2000,13 +2053,13 @@ var HeaderSubtitle = styled4__default.default.p`
|
|
|
2000
2053
|
text-overflow: ellipsis;
|
|
2001
2054
|
white-space: nowrap;
|
|
2002
2055
|
`;
|
|
2003
|
-
var HeaderActions =
|
|
2056
|
+
var HeaderActions = styled8__default.default.div`
|
|
2004
2057
|
display: flex;
|
|
2005
2058
|
align-items: center;
|
|
2006
2059
|
gap: ${tokens.spacing.xs};
|
|
2007
2060
|
margin-left: ${tokens.spacing.md};
|
|
2008
2061
|
`;
|
|
2009
|
-
var ActionButton2 =
|
|
2062
|
+
var ActionButton2 = styled8__default.default.button`
|
|
2010
2063
|
display: inline-flex;
|
|
2011
2064
|
align-items: center;
|
|
2012
2065
|
justify-content: center;
|
|
@@ -2123,7 +2176,7 @@ var Header = ({
|
|
|
2123
2176
|
] });
|
|
2124
2177
|
};
|
|
2125
2178
|
Header.displayName = "Header";
|
|
2126
|
-
var MessagesContainer =
|
|
2179
|
+
var MessagesContainer = styled8__default.default.div`
|
|
2127
2180
|
display: flex;
|
|
2128
2181
|
flex-direction: column;
|
|
2129
2182
|
flex: 1;
|
|
@@ -2135,18 +2188,14 @@ var MessagesContainer = styled4__default.default.div`
|
|
|
2135
2188
|
${tokens.colors.background.darker},
|
|
2136
2189
|
${tokens.colors.background.darkest}
|
|
2137
2190
|
);
|
|
2138
|
-
padding
|
|
2139
|
-
|
|
2191
|
+
/* Minimal horizontal padding to maximize message width */
|
|
2192
|
+
padding: ${tokens.spacing.sm} ${tokens.spacing.xs};
|
|
2193
|
+
gap: ${tokens.spacing.sm};
|
|
2140
2194
|
box-sizing: border-box;
|
|
2141
2195
|
|
|
2142
2196
|
/* Ensure proper scrolling behavior for child components */
|
|
2143
2197
|
position: relative;
|
|
2144
2198
|
min-height: 0;
|
|
2145
|
-
|
|
2146
|
-
/* Desktop padding */
|
|
2147
|
-
@media (min-width: ${tokens.breakpoints.mobile}px) {
|
|
2148
|
-
padding: ${tokens.spacing.md};
|
|
2149
|
-
}
|
|
2150
2199
|
`;
|
|
2151
2200
|
var Messages = ({
|
|
2152
2201
|
children,
|
|
@@ -2156,7 +2205,7 @@ var Messages = ({
|
|
|
2156
2205
|
return /* @__PURE__ */ jsxRuntime.jsx(MessagesContainer, { className, role: "region", "aria-label": ariaLabel, children });
|
|
2157
2206
|
};
|
|
2158
2207
|
Messages.displayName = "Messages";
|
|
2159
|
-
var WindowContainer =
|
|
2208
|
+
var WindowContainer = styled8__default.default.div`
|
|
2160
2209
|
display: flex;
|
|
2161
2210
|
flex-direction: column;
|
|
2162
2211
|
/* Glassmorphism effect */
|
|
@@ -2175,7 +2224,7 @@ var WindowContainer = styled4__default.default.div`
|
|
|
2175
2224
|
height: ${({ $height }) => $height};
|
|
2176
2225
|
|
|
2177
2226
|
/* Fullscreen state */
|
|
2178
|
-
${({ $isFullscreen }) => $isFullscreen &&
|
|
2227
|
+
${({ $isFullscreen }) => $isFullscreen && styled8.css`
|
|
2179
2228
|
width: 100vw;
|
|
2180
2229
|
height: 100vh;
|
|
2181
2230
|
border-radius: 0;
|
|
@@ -2187,7 +2236,7 @@ var WindowContainer = styled4__default.default.div`
|
|
|
2187
2236
|
`}
|
|
2188
2237
|
|
|
2189
2238
|
/* Minimized state */
|
|
2190
|
-
${({ $isMinimized }) => $isMinimized &&
|
|
2239
|
+
${({ $isMinimized }) => $isMinimized && styled8.css`
|
|
2191
2240
|
height: 60px;
|
|
2192
2241
|
width: 300px;
|
|
2193
2242
|
box-shadow: ${tokens.shadows.sm};
|
|
@@ -2206,7 +2255,7 @@ var WindowContainer = styled4__default.default.div`
|
|
|
2206
2255
|
|
|
2207
2256
|
/* Responsive behavior for smaller screens */
|
|
2208
2257
|
@media (max-width: ${tokens.breakpoints.tablet}px) {
|
|
2209
|
-
${({ $isFullscreen, $isMinimized }) => !$isFullscreen && !$isMinimized &&
|
|
2258
|
+
${({ $isFullscreen, $isMinimized }) => !$isFullscreen && !$isMinimized && styled8.css`
|
|
2210
2259
|
width: 100vw;
|
|
2211
2260
|
height: 100vh;
|
|
2212
2261
|
border-radius: 0;
|
|
@@ -2249,7 +2298,7 @@ var Window = ({
|
|
|
2249
2298
|
);
|
|
2250
2299
|
};
|
|
2251
2300
|
Window.displayName = "Window";
|
|
2252
|
-
var GlobalSidebarStyles =
|
|
2301
|
+
var GlobalSidebarStyles = styled8.createGlobalStyle`
|
|
2253
2302
|
/* Override CopilotKit's default positioning - start off-screen */
|
|
2254
2303
|
.copilotKitSidebar {
|
|
2255
2304
|
position: fixed !important;
|
|
@@ -2357,7 +2406,7 @@ var GlobalSidebarStyles = styled4.createGlobalStyle`
|
|
|
2357
2406
|
}
|
|
2358
2407
|
}
|
|
2359
2408
|
`;
|
|
2360
|
-
var StyledChatButton =
|
|
2409
|
+
var StyledChatButton = styled8__default.default.button`
|
|
2361
2410
|
position: fixed;
|
|
2362
2411
|
bottom: 8px;
|
|
2363
2412
|
right: 8px;
|
|
@@ -2409,7 +2458,7 @@ var CustomCopilotSidebar = ({
|
|
|
2409
2458
|
};
|
|
2410
2459
|
return /* @__PURE__ */ jsxRuntime.jsx(Header, { title: "AI Assistant", subtitle: "How can I help you today?", onClose: handleClose });
|
|
2411
2460
|
};
|
|
2412
|
-
const
|
|
2461
|
+
const WindowAdapter2 = (props) => {
|
|
2413
2462
|
return /* @__PURE__ */ jsxRuntime.jsx(Window, { children: props.children });
|
|
2414
2463
|
};
|
|
2415
2464
|
const MessagesAdapter = (props) => {
|
|
@@ -2465,7 +2514,7 @@ var CustomCopilotSidebar = ({
|
|
|
2465
2514
|
UserMessage: UserMessageAdapter,
|
|
2466
2515
|
Input: InputAdapter,
|
|
2467
2516
|
Header: HeaderAdapter,
|
|
2468
|
-
Window:
|
|
2517
|
+
Window: WindowAdapter2,
|
|
2469
2518
|
Messages: MessagesAdapter,
|
|
2470
2519
|
Button: CustomButton,
|
|
2471
2520
|
instructions,
|
|
@@ -2487,12 +2536,12 @@ var CustomCopilotSidebar = ({
|
|
|
2487
2536
|
] });
|
|
2488
2537
|
};
|
|
2489
2538
|
CustomCopilotSidebar.displayName = "CustomCopilotSidebar";
|
|
2490
|
-
var GlobalSidebarStyles2 =
|
|
2539
|
+
var GlobalSidebarStyles2 = styled8.createGlobalStyle`
|
|
2491
2540
|
/* Override CopilotKit's content wrapper to respect safe areas in landscape */
|
|
2492
2541
|
@media (orientation: landscape) {
|
|
2493
2542
|
.copilotKitSidebarContentWrapper {
|
|
2494
|
-
right:
|
|
2495
|
-
left:
|
|
2543
|
+
right: var(--safe-area-right, 0px) !important;
|
|
2544
|
+
left: var(--safe-area-left, 0px) !important;
|
|
2496
2545
|
}
|
|
2497
2546
|
}
|
|
2498
2547
|
|
|
@@ -2521,18 +2570,18 @@ var GlobalSidebarStyles2 = styled4.createGlobalStyle`
|
|
|
2521
2570
|
/* Override CopilotKit defaults for mobile */
|
|
2522
2571
|
position: fixed !important;
|
|
2523
2572
|
/* TOP: Account for status bar safe area (Android notch/status bar) */
|
|
2524
|
-
top: calc(${tokens.spacing.sm} +
|
|
2573
|
+
top: calc(${tokens.spacing.sm} + var(--safe-area-top, 0px)) !important;
|
|
2525
2574
|
/* RIGHT: Account for landscape notch on right side */
|
|
2526
|
-
right: calc(${tokens.spacing.sm} +
|
|
2575
|
+
right: calc(${tokens.spacing.sm} + var(--safe-area-right, 0px)) !important;
|
|
2527
2576
|
/* BOTTOM: Account for horizontal navbar (52px) + safe area for Android nav buttons */
|
|
2528
|
-
bottom: calc(52px + ${tokens.spacing.sm} +
|
|
2577
|
+
bottom: calc(52px + ${tokens.spacing.sm} + var(--safe-area-bottom, 0px)) !important;
|
|
2529
2578
|
/* LEFT: Account for landscape notch on left side */
|
|
2530
|
-
left: calc(${tokens.spacing.sm} +
|
|
2531
|
-
width: calc(100vw - ${tokens.spacing.lg} -
|
|
2579
|
+
left: calc(${tokens.spacing.sm} + var(--safe-area-left, 0px)) !important;
|
|
2580
|
+
width: calc(100vw - ${tokens.spacing.lg} - var(--safe-area-left, 0px) - var(--safe-area-right, 0px)) !important;
|
|
2532
2581
|
/* Adjust height to account for top, bottom safe areas, and navbar */
|
|
2533
|
-
height: calc(100vh - ${tokens.spacing.lg} -
|
|
2534
|
-
max-width: calc(100vw - ${tokens.spacing.lg} -
|
|
2535
|
-
max-height: calc(100vh - ${tokens.spacing.lg} -
|
|
2582
|
+
height: calc(100vh - ${tokens.spacing.lg} - var(--safe-area-top, 0px) - 52px - var(--safe-area-bottom, 0px)) !important;
|
|
2583
|
+
max-width: calc(100vw - ${tokens.spacing.lg} - var(--safe-area-left, 0px) - var(--safe-area-right, 0px)) !important;
|
|
2584
|
+
max-height: calc(100vh - ${tokens.spacing.lg} - var(--safe-area-top, 0px) - 52px - var(--safe-area-bottom, 0px)) !important;
|
|
2536
2585
|
margin: 0 !important;
|
|
2537
2586
|
border-radius: ${tokens.borderRadius.xl} !important;
|
|
2538
2587
|
|
|
@@ -2569,17 +2618,115 @@ var GlobalSidebarStyles2 = styled4.createGlobalStyle`
|
|
|
2569
2618
|
.copilotKitSidebar [role="dialog"] {
|
|
2570
2619
|
inset: auto !important;
|
|
2571
2620
|
/* TOP: Account for status bar safe area */
|
|
2572
|
-
top: calc(${tokens.spacing.sm} +
|
|
2621
|
+
top: calc(${tokens.spacing.sm} + var(--safe-area-top, 0px)) !important;
|
|
2573
2622
|
/* RIGHT: Account for landscape notch on right side */
|
|
2574
|
-
right: calc(${tokens.spacing.sm} +
|
|
2623
|
+
right: calc(${tokens.spacing.sm} + var(--safe-area-right, 0px)) !important;
|
|
2575
2624
|
/* BOTTOM: Account for horizontal navbar (52px) + safe area */
|
|
2576
|
-
bottom: calc(52px + ${tokens.spacing.sm} +
|
|
2625
|
+
bottom: calc(52px + ${tokens.spacing.sm} + var(--safe-area-bottom, 0px)) !important;
|
|
2577
2626
|
left: auto !important;
|
|
2578
2627
|
width: 28rem !important;
|
|
2579
2628
|
/* Adjust height to account for top, bottom safe areas, and navbar */
|
|
2580
|
-
height: calc(100vh - ${tokens.spacing.lg} -
|
|
2629
|
+
height: calc(100vh - ${tokens.spacing.lg} - var(--safe-area-top, 0px) - 52px - var(--safe-area-bottom, 0px)) !important;
|
|
2581
2630
|
max-width: 28rem !important;
|
|
2582
|
-
max-height: calc(100vh - ${tokens.spacing.lg} -
|
|
2631
|
+
max-height: calc(100vh - ${tokens.spacing.lg} - var(--safe-area-top, 0px) - 52px - var(--safe-area-bottom, 0px)) !important;
|
|
2632
|
+
}
|
|
2633
|
+
}
|
|
2634
|
+
|
|
2635
|
+
/* Mobile landscape: sidebar on right side, allow background interaction */
|
|
2636
|
+
@media (orientation: landscape) and (max-height: 500px) {
|
|
2637
|
+
/* Account for vertical nav (60px) in landscape */
|
|
2638
|
+
.copilotKitSidebarContentWrapper {
|
|
2639
|
+
left: 60px !important;
|
|
2640
|
+
width: calc(100% - 60px) !important;
|
|
2641
|
+
}
|
|
2642
|
+
|
|
2643
|
+
/* Shrink the sidebar container to only cover the right portion where dialog lives */
|
|
2644
|
+
/* Also stretch to full height (remove default 8px padding) */
|
|
2645
|
+
.copilotKitSidebar {
|
|
2646
|
+
top: 0 !important;
|
|
2647
|
+
bottom: 0 !important;
|
|
2648
|
+
left: 58vw !important;
|
|
2649
|
+
width: min(50vw, 22rem) !important;
|
|
2650
|
+
height: 100vh !important;
|
|
2651
|
+
}
|
|
2652
|
+
|
|
2653
|
+
/* Offset the expanded sidebar wrapper to leave space for main content */
|
|
2654
|
+
.copilotKitSidebarContentWrapper.sidebarExpanded {
|
|
2655
|
+
margin-right: 30vw !important;
|
|
2656
|
+
}
|
|
2657
|
+
|
|
2658
|
+
.copilotKitSidebar [role="dialog"] {
|
|
2659
|
+
width: min(50vw, 20rem) !important;
|
|
2660
|
+
max-width: min(50vw, 20rem) !important;
|
|
2661
|
+
left: auto !important;
|
|
2662
|
+
right: 1.5rem !important;
|
|
2663
|
+
/* Use top/bottom ONLY - let browser calculate height (more reliable than explicit height) */
|
|
2664
|
+
top: var(--safe-area-top, 0px) !important;
|
|
2665
|
+
bottom: calc(52px + var(--safe-area-bottom, 0px)) !important;
|
|
2666
|
+
/* Remove explicit height - let top/bottom define it */
|
|
2667
|
+
height: auto !important;
|
|
2668
|
+
max-height: none !important;
|
|
2669
|
+
/* Remove margins */
|
|
2670
|
+
margin: 0 !important;
|
|
2671
|
+
border-radius: 0 !important;
|
|
2672
|
+
border-top-left-radius: ${tokens.borderRadius.xl} !important;
|
|
2673
|
+
border-bottom-left-radius: ${tokens.borderRadius.xl} !important;
|
|
2674
|
+
}
|
|
2675
|
+
|
|
2676
|
+
/* Compact header in landscape - hide title text but keep close button */
|
|
2677
|
+
.copilotKitSidebar [role="dialog"] header,
|
|
2678
|
+
.copilotKitSidebar [role="dialog"] [data-testid="chat-header"],
|
|
2679
|
+
.copilotKitSidebar [role="dialog"] > div:first-child {
|
|
2680
|
+
padding: 0.25rem 0.5rem !important;
|
|
2681
|
+
min-height: auto !important;
|
|
2682
|
+
height: 1.5rem;
|
|
2683
|
+
padding-right: 1.5rem !important;
|
|
2684
|
+
}
|
|
2685
|
+
|
|
2686
|
+
/* Hide the title text but keep close button visible */
|
|
2687
|
+
.copilotKitSidebar [role="dialog"] header h1,
|
|
2688
|
+
.copilotKitSidebar [role="dialog"] header h2,
|
|
2689
|
+
.copilotKitSidebar [role="dialog"] header span:not(:last-child),
|
|
2690
|
+
.copilotKitSidebar [role="dialog"] > div:first-child > span,
|
|
2691
|
+
.copilotKitSidebar [role="dialog"] > div:first-child > h1,
|
|
2692
|
+
.copilotKitSidebar [role="dialog"] > div:first-child > h2 {
|
|
2693
|
+
display: none !important;
|
|
2694
|
+
}
|
|
2695
|
+
|
|
2696
|
+
/* Reduce vertical padding inside chat to preserve space in landscape */
|
|
2697
|
+
.copilotKitMessages {
|
|
2698
|
+
padding: ${tokens.spacing.xs} ${tokens.spacing.sm} !important;
|
|
2699
|
+
}
|
|
2700
|
+
|
|
2701
|
+
.copilotKitMessage {
|
|
2702
|
+
padding: ${tokens.spacing.xs} 0 !important;
|
|
2703
|
+
margin: ${tokens.spacing.xs} 0 !important;
|
|
2704
|
+
}
|
|
2705
|
+
|
|
2706
|
+
/* Compact input area in landscape */
|
|
2707
|
+
.copilotKitInput,
|
|
2708
|
+
.copilotKitSidebar [role="dialog"] > div:last-child {
|
|
2709
|
+
padding: ${tokens.spacing.xs} ${tokens.spacing.sm} !important;
|
|
2710
|
+
}
|
|
2711
|
+
|
|
2712
|
+
/* Reduce gap between messages */
|
|
2713
|
+
.copilotKitMessages > div {
|
|
2714
|
+
gap: 0.25rem !important;
|
|
2715
|
+
padding-bottom: 0;
|
|
2716
|
+
margin-bottom: -3rem;
|
|
2717
|
+
}
|
|
2718
|
+
|
|
2719
|
+
/* Compact suggested prompts in landscape */
|
|
2720
|
+
div[role="list"][aria-label*="Suggested"] {
|
|
2721
|
+
margin: 0 !important;
|
|
2722
|
+
padding: 1px !important;
|
|
2723
|
+
min-height: auto !important;
|
|
2724
|
+
max-height: 32px !important;
|
|
2725
|
+
}
|
|
2726
|
+
|
|
2727
|
+
/* Compact parent of suggestions (input area) */
|
|
2728
|
+
.copilotKitSidebar [role="dialog"] > div:last-child {
|
|
2729
|
+
padding: 1px !important;
|
|
2583
2730
|
}
|
|
2584
2731
|
}
|
|
2585
2732
|
|
|
@@ -2669,10 +2816,10 @@ var GlobalSidebarStyles2 = styled4.createGlobalStyle`
|
|
|
2669
2816
|
box-shadow: none !important;
|
|
2670
2817
|
}
|
|
2671
2818
|
`;
|
|
2672
|
-
var StyledChatButton2 =
|
|
2819
|
+
var StyledChatButton2 = styled8__default.default.button`
|
|
2673
2820
|
position: fixed;
|
|
2674
|
-
bottom: calc(${tokens.spacing.sm} +
|
|
2675
|
-
right: calc(${tokens.spacing.sm} +
|
|
2821
|
+
bottom: calc(${tokens.spacing.sm} + var(--safe-area-bottom, 0px));
|
|
2822
|
+
right: calc(${tokens.spacing.sm} + var(--safe-area-right, 0px));
|
|
2676
2823
|
width: 36px;
|
|
2677
2824
|
height: 36px;
|
|
2678
2825
|
border-radius: ${tokens.borderRadius.full};
|
|
@@ -2703,17 +2850,11 @@ var StyledChatButton2 = styled4__default.default.button`
|
|
|
2703
2850
|
fill: ${tokens.colors.text.primary};
|
|
2704
2851
|
}
|
|
2705
2852
|
`;
|
|
2706
|
-
|
|
2707
|
-
children
|
|
2708
|
-
|
|
2709
|
-
|
|
2710
|
-
|
|
2711
|
-
className,
|
|
2712
|
-
disabled = false,
|
|
2713
|
-
disabledReason = "Start a free trial to enable AI chat",
|
|
2714
|
-
onError,
|
|
2715
|
-
renderError
|
|
2716
|
-
}) {
|
|
2853
|
+
var WindowAdapter = (props) => {
|
|
2854
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Window, { children: props.children });
|
|
2855
|
+
};
|
|
2856
|
+
WindowAdapter.displayName = "WindowAdapter";
|
|
2857
|
+
function createHeaderAdapter(onSetOpen) {
|
|
2717
2858
|
const HeaderAdapterWithClose = (_props) => {
|
|
2718
2859
|
const { setOpen } = reactUi.useChatContext();
|
|
2719
2860
|
const handleClose = () => {
|
|
@@ -2722,9 +2863,10 @@ function CustomCopilotSidebar2({
|
|
|
2722
2863
|
};
|
|
2723
2864
|
return /* @__PURE__ */ jsxRuntime.jsx(Header, { title: "AI Assistant", onClose: handleClose });
|
|
2724
2865
|
};
|
|
2725
|
-
|
|
2726
|
-
|
|
2727
|
-
|
|
2866
|
+
HeaderAdapterWithClose.displayName = "HeaderAdapterWithClose";
|
|
2867
|
+
return HeaderAdapterWithClose;
|
|
2868
|
+
}
|
|
2869
|
+
function createButtonAdapter(disabled, disabledReason, onSetOpen) {
|
|
2728
2870
|
const CustomButton = (_props) => {
|
|
2729
2871
|
const { open, setOpen } = reactUi.useChatContext();
|
|
2730
2872
|
const handleClick = () => {
|
|
@@ -2761,16 +2903,44 @@ function CustomCopilotSidebar2({
|
|
|
2761
2903
|
}
|
|
2762
2904
|
);
|
|
2763
2905
|
};
|
|
2906
|
+
CustomButton.displayName = "CustomButton";
|
|
2907
|
+
return CustomButton;
|
|
2908
|
+
}
|
|
2909
|
+
function CustomCopilotSidebar2({
|
|
2910
|
+
children,
|
|
2911
|
+
defaultOpen = false,
|
|
2912
|
+
onSetOpen,
|
|
2913
|
+
instructions,
|
|
2914
|
+
className,
|
|
2915
|
+
disabled = false,
|
|
2916
|
+
disabledReason = "Start a free trial to enable AI chat",
|
|
2917
|
+
onError,
|
|
2918
|
+
renderError,
|
|
2919
|
+
ThinkingIndicator,
|
|
2920
|
+
ToolCallsComponent
|
|
2921
|
+
}) {
|
|
2922
|
+
const HeaderAdapterWithClose = react.useMemo(
|
|
2923
|
+
() => createHeaderAdapter(onSetOpen),
|
|
2924
|
+
[onSetOpen]
|
|
2925
|
+
);
|
|
2926
|
+
const CustomButton = react.useMemo(
|
|
2927
|
+
() => createButtonAdapter(disabled, disabledReason, onSetOpen),
|
|
2928
|
+
[disabled, disabledReason, onSetOpen]
|
|
2929
|
+
);
|
|
2930
|
+
const AssistantMessageAdapterMemo = react.useMemo(
|
|
2931
|
+
() => ThinkingIndicator || ToolCallsComponent ? createAssistantMessageAdapter(ThinkingIndicator, ToolCallsComponent) : AssistantMessageAdapter,
|
|
2932
|
+
[ThinkingIndicator, ToolCallsComponent]
|
|
2933
|
+
);
|
|
2764
2934
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2765
2935
|
/* @__PURE__ */ jsxRuntime.jsx(GlobalSidebarStyles2, {}),
|
|
2766
2936
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2767
2937
|
reactUi.CopilotSidebar,
|
|
2768
2938
|
{
|
|
2769
|
-
AssistantMessage:
|
|
2939
|
+
AssistantMessage: AssistantMessageAdapterMemo,
|
|
2770
2940
|
UserMessage: UserMessageAdapter,
|
|
2771
2941
|
Input: InputAdapter,
|
|
2772
2942
|
Header: HeaderAdapterWithClose,
|
|
2773
|
-
Window:
|
|
2943
|
+
Window: WindowAdapter,
|
|
2774
2944
|
Button: CustomButton,
|
|
2775
2945
|
RenderActionExecutionMessage: ActionExecutionAdapter,
|
|
2776
2946
|
instructions,
|
|
@@ -2791,7 +2961,7 @@ function CustomCopilotSidebar2({
|
|
|
2791
2961
|
] });
|
|
2792
2962
|
}
|
|
2793
2963
|
CustomCopilotSidebar2.displayName = "CustomCopilotSidebar";
|
|
2794
|
-
var FooterContainer =
|
|
2964
|
+
var FooterContainer = styled8__default.default.footer`
|
|
2795
2965
|
display: flex;
|
|
2796
2966
|
align-items: center;
|
|
2797
2967
|
justify-content: center;
|
|
@@ -2800,7 +2970,7 @@ var FooterContainer = styled4__default.default.footer`
|
|
|
2800
2970
|
border-top: 1px solid ${tokens.colors.border.default};
|
|
2801
2971
|
min-height: 44px;
|
|
2802
2972
|
`;
|
|
2803
|
-
var FooterContent =
|
|
2973
|
+
var FooterContent = styled8__default.default.div`
|
|
2804
2974
|
display: flex;
|
|
2805
2975
|
align-items: center;
|
|
2806
2976
|
justify-content: space-between;
|
|
@@ -2813,13 +2983,13 @@ var FooterContent = styled4__default.default.div`
|
|
|
2813
2983
|
font-family: ${tokens.typography.fontFamily.primary};
|
|
2814
2984
|
line-height: ${tokens.typography.lineHeight.tight};
|
|
2815
2985
|
`;
|
|
2816
|
-
var FooterBranding =
|
|
2986
|
+
var FooterBranding = styled8__default.default.div`
|
|
2817
2987
|
display: flex;
|
|
2818
2988
|
align-items: center;
|
|
2819
2989
|
gap: ${tokens.spacing.xs};
|
|
2820
2990
|
flex-shrink: 0;
|
|
2821
2991
|
`;
|
|
2822
|
-
var FooterStatus =
|
|
2992
|
+
var FooterStatus = styled8__default.default.div`
|
|
2823
2993
|
display: flex;
|
|
2824
2994
|
align-items: center;
|
|
2825
2995
|
gap: ${tokens.spacing.xs};
|
|
@@ -2829,7 +2999,7 @@ var FooterStatus = styled4__default.default.div`
|
|
|
2829
2999
|
font-size: ${tokens.typography.fontSize.xs};
|
|
2830
3000
|
opacity: 0.8;
|
|
2831
3001
|
`;
|
|
2832
|
-
var FooterLink =
|
|
3002
|
+
var FooterLink = styled8__default.default.a`
|
|
2833
3003
|
color: ${tokens.colors.primary};
|
|
2834
3004
|
text-decoration: none;
|
|
2835
3005
|
transition: opacity ${tokens.transitions.fast};
|
|
@@ -2877,13 +3047,13 @@ var Footer = ({
|
|
|
2877
3047
|
] }) });
|
|
2878
3048
|
};
|
|
2879
3049
|
Footer.displayName = "Footer";
|
|
2880
|
-
var InputContainer =
|
|
3050
|
+
var InputContainer = styled8__default.default.div`
|
|
2881
3051
|
display: flex;
|
|
2882
3052
|
flex-direction: column;
|
|
2883
3053
|
width: 100%;
|
|
2884
3054
|
position: relative;
|
|
2885
3055
|
`;
|
|
2886
|
-
var InputWrapper2 =
|
|
3056
|
+
var InputWrapper2 = styled8__default.default.div`
|
|
2887
3057
|
display: flex;
|
|
2888
3058
|
align-items: flex-end;
|
|
2889
3059
|
gap: ${tokens.spacing.sm};
|
|
@@ -2903,7 +3073,7 @@ var InputWrapper2 = styled4__default.default.div`
|
|
|
2903
3073
|
border-color: ${tokens.colors.border.subtle};
|
|
2904
3074
|
}
|
|
2905
3075
|
`;
|
|
2906
|
-
var TextArea =
|
|
3076
|
+
var TextArea = styled8__default.default.textarea`
|
|
2907
3077
|
flex: 1;
|
|
2908
3078
|
min-height: ${tokens.spacing.lg};
|
|
2909
3079
|
max-height: ${(props) => `${(props.$maxRows || 5) * 24}px`};
|
|
@@ -2949,7 +3119,7 @@ var TextArea = styled4__default.default.textarea`
|
|
|
2949
3119
|
background: ${tokens.colors.scrollbar.thumbHover};
|
|
2950
3120
|
}
|
|
2951
3121
|
`;
|
|
2952
|
-
var SendButton =
|
|
3122
|
+
var SendButton = styled8__default.default.button`
|
|
2953
3123
|
display: flex;
|
|
2954
3124
|
align-items: center;
|
|
2955
3125
|
justify-content: center;
|
|
@@ -3079,7 +3249,7 @@ var Input = ({
|
|
|
3079
3249
|
)
|
|
3080
3250
|
] }) });
|
|
3081
3251
|
};
|
|
3082
|
-
var MessagesListContainer =
|
|
3252
|
+
var MessagesListContainer = styled8__default.default.div`
|
|
3083
3253
|
display: flex;
|
|
3084
3254
|
flex-direction: column;
|
|
3085
3255
|
width: 100%;
|
|
@@ -3119,7 +3289,7 @@ var MessagesListContainer = styled4__default.default.div`
|
|
|
3119
3289
|
/* Ensure proper rendering on mobile */
|
|
3120
3290
|
-webkit-overflow-scrolling: touch;
|
|
3121
3291
|
`;
|
|
3122
|
-
var MessagesListContent =
|
|
3292
|
+
var MessagesListContent = styled8__default.default.div`
|
|
3123
3293
|
display: flex;
|
|
3124
3294
|
flex-direction: column;
|
|
3125
3295
|
gap: ${tokens.spacing.sm};
|
|
@@ -3235,19 +3405,19 @@ var MessagesList = ({
|
|
|
3235
3405
|
}
|
|
3236
3406
|
);
|
|
3237
3407
|
};
|
|
3238
|
-
var StyledUserMessage2 =
|
|
3408
|
+
var StyledUserMessage2 = styled8__default.default.div`
|
|
3239
3409
|
display: flex;
|
|
3240
3410
|
justify-content: flex-end;
|
|
3241
3411
|
align-items: flex-start;
|
|
3242
|
-
margin: ${tokens.spacing.
|
|
3243
|
-
padding: 0
|
|
3412
|
+
margin: ${tokens.spacing.xs} 0;
|
|
3413
|
+
padding: 0;
|
|
3244
3414
|
width: 100%;
|
|
3245
3415
|
`;
|
|
3246
|
-
var MessageBubble =
|
|
3416
|
+
var MessageBubble = styled8__default.default.div`
|
|
3247
3417
|
display: flex;
|
|
3248
3418
|
flex-direction: column;
|
|
3249
|
-
max-width:
|
|
3250
|
-
padding: ${tokens.spacing.sm}
|
|
3419
|
+
max-width: 85%;
|
|
3420
|
+
padding: ${tokens.spacing.sm};
|
|
3251
3421
|
border-radius: ${tokens.borderRadius.lg};
|
|
3252
3422
|
|
|
3253
3423
|
/* User message colors - dark blue from brand */
|
|
@@ -3270,7 +3440,7 @@ var MessageBubble = styled4__default.default.div`
|
|
|
3270
3440
|
opacity: 0.9;
|
|
3271
3441
|
}
|
|
3272
3442
|
`;
|
|
3273
|
-
var MessageContent2 =
|
|
3443
|
+
var MessageContent2 = styled8__default.default.p`
|
|
3274
3444
|
margin: 0;
|
|
3275
3445
|
font-size: ${tokens.typography.fontSize.sm};
|
|
3276
3446
|
line-height: ${tokens.typography.lineHeight.normal};
|
|
@@ -3279,13 +3449,13 @@ var MessageContent2 = styled4__default.default.p`
|
|
|
3279
3449
|
word-break: break-word;
|
|
3280
3450
|
white-space: pre-wrap;
|
|
3281
3451
|
`;
|
|
3282
|
-
var MessageTime2 =
|
|
3452
|
+
var MessageTime2 = styled8__default.default.time`
|
|
3283
3453
|
font-size: ${tokens.typography.fontSize.xs};
|
|
3284
3454
|
opacity: 0.7;
|
|
3285
3455
|
margin-top: ${tokens.spacing.xs};
|
|
3286
3456
|
text-align: right;
|
|
3287
3457
|
`;
|
|
3288
|
-
var ActionButton3 =
|
|
3458
|
+
var ActionButton3 = styled8__default.default.button`
|
|
3289
3459
|
display: inline-flex;
|
|
3290
3460
|
align-items: center;
|
|
3291
3461
|
gap: ${tokens.spacing.xs};
|
|
@@ -3309,12 +3479,12 @@ var ActionButton3 = styled4__default.default.button`
|
|
|
3309
3479
|
transform: scale(0.98);
|
|
3310
3480
|
}
|
|
3311
3481
|
`;
|
|
3312
|
-
var ActionsContainer3 =
|
|
3482
|
+
var ActionsContainer3 = styled8__default.default.div`
|
|
3313
3483
|
display: flex;
|
|
3314
3484
|
gap: ${tokens.spacing.xs};
|
|
3315
3485
|
flex-wrap: wrap;
|
|
3316
3486
|
`;
|
|
3317
|
-
var StreamingIndicator2 =
|
|
3487
|
+
var StreamingIndicator2 = styled8__default.default.span`
|
|
3318
3488
|
display: inline-block;
|
|
3319
3489
|
width: ${tokens.spacing.xs};
|
|
3320
3490
|
height: ${tokens.spacing.xs};
|
|
@@ -3335,7 +3505,7 @@ var StreamingIndicator2 = styled4__default.default.span`
|
|
|
3335
3505
|
}
|
|
3336
3506
|
}
|
|
3337
3507
|
`;
|
|
3338
|
-
var Avatar3 =
|
|
3508
|
+
var Avatar3 = styled8__default.default.img`
|
|
3339
3509
|
width: ${tokens.spacing.xl};
|
|
3340
3510
|
height: ${tokens.spacing.xl};
|
|
3341
3511
|
border-radius: ${tokens.borderRadius.full};
|
|
@@ -3368,7 +3538,7 @@ var UserMessage2 = ({
|
|
|
3368
3538
|
avatarUrl && /* @__PURE__ */ jsxRuntime.jsx(Avatar3, { src: avatarUrl, alt: username || "User" })
|
|
3369
3539
|
] });
|
|
3370
3540
|
};
|
|
3371
|
-
var ErrorContainer =
|
|
3541
|
+
var ErrorContainer = styled8__default.default.div`
|
|
3372
3542
|
display: flex;
|
|
3373
3543
|
align-items: flex-start;
|
|
3374
3544
|
gap: ${tokens.spacing.sm};
|
|
@@ -3382,7 +3552,7 @@ var ErrorContainer = styled4__default.default.div`
|
|
|
3382
3552
|
width: ${(props) => props.variant === "banner" ? "100%" : "auto"};
|
|
3383
3553
|
max-width: ${(props) => props.variant === "banner" ? "100%" : "600px"};
|
|
3384
3554
|
`;
|
|
3385
|
-
var IconContainer =
|
|
3555
|
+
var IconContainer = styled8__default.default.div`
|
|
3386
3556
|
flex-shrink: 0;
|
|
3387
3557
|
width: 20px;
|
|
3388
3558
|
height: 20px;
|
|
@@ -3399,29 +3569,29 @@ var ErrorIcon = () => /* @__PURE__ */ jsxRuntime.jsx(
|
|
|
3399
3569
|
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z" })
|
|
3400
3570
|
}
|
|
3401
3571
|
);
|
|
3402
|
-
var Content2 =
|
|
3572
|
+
var Content2 = styled8__default.default.div`
|
|
3403
3573
|
flex: 1;
|
|
3404
3574
|
display: flex;
|
|
3405
3575
|
flex-direction: column;
|
|
3406
3576
|
gap: ${tokens.spacing.sm};
|
|
3407
3577
|
`;
|
|
3408
|
-
var ErrorMessage =
|
|
3578
|
+
var ErrorMessage = styled8__default.default.div`
|
|
3409
3579
|
font-size: ${tokens.typography.fontSize.sm};
|
|
3410
3580
|
line-height: ${tokens.typography.lineHeight.normal};
|
|
3411
3581
|
color: ${tokens.colors.text.primary};
|
|
3412
3582
|
`;
|
|
3413
|
-
var ErrorDetails =
|
|
3583
|
+
var ErrorDetails = styled8__default.default.div`
|
|
3414
3584
|
font-size: ${tokens.typography.fontSize.xs};
|
|
3415
3585
|
line-height: 1.4;
|
|
3416
3586
|
color: ${tokens.colors.text.secondary};
|
|
3417
3587
|
margin-top: ${tokens.spacing.xs};
|
|
3418
3588
|
`;
|
|
3419
|
-
var Actions2 =
|
|
3589
|
+
var Actions2 = styled8__default.default.div`
|
|
3420
3590
|
display: flex;
|
|
3421
3591
|
gap: ${tokens.spacing.sm};
|
|
3422
3592
|
margin-top: ${tokens.spacing.sm};
|
|
3423
3593
|
`;
|
|
3424
|
-
var Button2 =
|
|
3594
|
+
var Button2 = styled8__default.default.button`
|
|
3425
3595
|
display: inline-flex;
|
|
3426
3596
|
align-items: center;
|
|
3427
3597
|
gap: ${tokens.spacing.xs};
|
|
@@ -3450,7 +3620,7 @@ var Button2 = styled4__default.default.button`
|
|
|
3450
3620
|
cursor: not-allowed;
|
|
3451
3621
|
}
|
|
3452
3622
|
`;
|
|
3453
|
-
var CloseButton =
|
|
3623
|
+
var CloseButton = styled8__default.default.button`
|
|
3454
3624
|
flex-shrink: 0;
|
|
3455
3625
|
width: 24px;
|
|
3456
3626
|
height: 24px;
|
|
@@ -3509,7 +3679,7 @@ var StreamErrorMessage = ({
|
|
|
3509
3679
|
] });
|
|
3510
3680
|
};
|
|
3511
3681
|
StreamErrorMessage.displayName = "StreamErrorMessage";
|
|
3512
|
-
var SuggestionsContainer =
|
|
3682
|
+
var SuggestionsContainer = styled8__default.default.div`
|
|
3513
3683
|
display: flex;
|
|
3514
3684
|
flex-wrap: nowrap; /* Single row */
|
|
3515
3685
|
gap: ${tokens.spacing.sm};
|
|
@@ -3542,7 +3712,7 @@ var SuggestionsContainer = styled4__default.default.div`
|
|
|
3542
3712
|
display: none; /* Chrome/Safari/Opera */
|
|
3543
3713
|
}
|
|
3544
3714
|
`;
|
|
3545
|
-
var StyledSuggestion =
|
|
3715
|
+
var StyledSuggestion = styled8__default.default.button`
|
|
3546
3716
|
/* Base styles */
|
|
3547
3717
|
display: inline-flex;
|
|
3548
3718
|
align-items: center;
|
|
@@ -3575,7 +3745,7 @@ var StyledSuggestion = styled4__default.default.button`
|
|
|
3575
3745
|
box-shadow: none;
|
|
3576
3746
|
}
|
|
3577
3747
|
|
|
3578
|
-
${({ $isPressed }) => $isPressed &&
|
|
3748
|
+
${({ $isPressed }) => $isPressed && styled8.css`
|
|
3579
3749
|
transform: scale(0.98);
|
|
3580
3750
|
`}
|
|
3581
3751
|
|