@copilotz/chat-ui 0.7.4 → 0.7.5
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 +3 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/styles.css +6 -3
- package/package.json +1 -1
- package/dist/components/chat/AgentSelectors.d.ts +0 -50
- package/dist/components/chat/AgentSelectors.d.ts.map +0 -1
- package/dist/components/chat/AgentSelectors.js +0 -67
- package/dist/components/chat/AgentSelectors.js.map +0 -1
- package/dist/components/chat/AssistantActivity.d.ts +0 -11
- package/dist/components/chat/AssistantActivity.d.ts.map +0 -1
- package/dist/components/chat/AssistantActivity.js +0 -82
- package/dist/components/chat/AssistantActivity.js.map +0 -1
- package/dist/components/chat/ChatHeader.d.ts +0 -56
- package/dist/components/chat/ChatHeader.d.ts.map +0 -1
- package/dist/components/chat/ChatHeader.js +0 -71
- package/dist/components/chat/ChatHeader.js.map +0 -1
- package/dist/components/chat/ChatInput.d.ts +0 -25
- package/dist/components/chat/ChatInput.d.ts.map +0 -1
- package/dist/components/chat/ChatInput.js +0 -732
- package/dist/components/chat/ChatInput.js.map +0 -1
- package/dist/components/chat/ChatUI.d.ts +0 -4
- package/dist/components/chat/ChatUI.d.ts.map +0 -1
- package/dist/components/chat/ChatUI.js +0 -470
- package/dist/components/chat/ChatUI.js.map +0 -1
- package/dist/components/chat/Message.d.ts +0 -37
- package/dist/components/chat/Message.d.ts.map +0 -1
- package/dist/components/chat/Message.js +0 -262
- package/dist/components/chat/Message.js.map +0 -1
- package/dist/components/chat/Sidebar.d.ts +0 -52
- package/dist/components/chat/Sidebar.d.ts.map +0 -1
- package/dist/components/chat/Sidebar.js +0 -112
- package/dist/components/chat/Sidebar.js.map +0 -1
- package/dist/components/chat/ThreadManager.d.ts +0 -18
- package/dist/components/chat/ThreadManager.d.ts.map +0 -1
- package/dist/components/chat/ThreadManager.js +0 -108
- package/dist/components/chat/ThreadManager.js.map +0 -1
- package/dist/components/chat/UserContext.d.ts +0 -15
- package/dist/components/chat/UserContext.d.ts.map +0 -1
- package/dist/components/chat/UserContext.js +0 -39
- package/dist/components/chat/UserContext.js.map +0 -1
- package/dist/components/chat/UserMenu.d.ts +0 -38
- package/dist/components/chat/UserMenu.d.ts.map +0 -1
- package/dist/components/chat/UserMenu.js +0 -44
- package/dist/components/chat/UserMenu.js.map +0 -1
- package/dist/components/chat/UserProfile.d.ts +0 -51
- package/dist/components/chat/UserProfile.d.ts.map +0 -1
- package/dist/components/chat/UserProfile.js +0 -206
- package/dist/components/chat/UserProfile.js.map +0 -1
- package/dist/components/chat/VoiceComposer.d.ts +0 -29
- package/dist/components/chat/VoiceComposer.d.ts.map +0 -1
- package/dist/components/chat/VoiceComposer.js +0 -99
- package/dist/components/chat/VoiceComposer.js.map +0 -1
- package/dist/components/ui/Spinner.d.ts +0 -7
- package/dist/components/ui/Spinner.d.ts.map +0 -1
- package/dist/components/ui/Spinner.js +0 -14
- package/dist/components/ui/Spinner.js.map +0 -1
- package/dist/components/ui/accordion.d.ts +0 -8
- package/dist/components/ui/accordion.d.ts.map +0 -1
- package/dist/components/ui/accordion.js +0 -14
- package/dist/components/ui/accordion.js.map +0 -1
- package/dist/components/ui/alert-dialog.d.ts +0 -15
- package/dist/components/ui/alert-dialog.d.ts.map +0 -1
- package/dist/components/ui/alert-dialog.js +0 -66
- package/dist/components/ui/alert-dialog.js.map +0 -1
- package/dist/components/ui/avatar.d.ts +0 -7
- package/dist/components/ui/avatar.d.ts.map +0 -1
- package/dist/components/ui/avatar.js +0 -15
- package/dist/components/ui/avatar.js.map +0 -1
- package/dist/components/ui/badge.d.ts +0 -10
- package/dist/components/ui/badge.d.ts.map +0 -1
- package/dist/components/ui/badge.js +0 -23
- package/dist/components/ui/badge.js.map +0 -1
- package/dist/components/ui/button.d.ts +0 -11
- package/dist/components/ui/button.d.ts.map +0 -1
- package/dist/components/ui/button.js +0 -32
- package/dist/components/ui/button.js.map +0 -1
- package/dist/components/ui/card.d.ts +0 -10
- package/dist/components/ui/card.d.ts.map +0 -1
- package/dist/components/ui/card.js +0 -25
- package/dist/components/ui/card.js.map +0 -1
- package/dist/components/ui/collapsible.d.ts +0 -6
- package/dist/components/ui/collapsible.d.ts.map +0 -1
- package/dist/components/ui/collapsible.js +0 -6
- package/dist/components/ui/collapsible.js.map +0 -1
- package/dist/components/ui/context-menu.d.ts +0 -26
- package/dist/components/ui/context-menu.d.ts.map +0 -1
- package/dist/components/ui/context-menu.js +0 -51
- package/dist/components/ui/context-menu.js.map +0 -1
- package/dist/components/ui/dialog.d.ts +0 -16
- package/dist/components/ui/dialog.d.ts.map +0 -1
- package/dist/components/ui/dialog.js +0 -63
- package/dist/components/ui/dialog.js.map +0 -1
- package/dist/components/ui/dropdown-menu.d.ts +0 -26
- package/dist/components/ui/dropdown-menu.d.ts.map +0 -1
- package/dist/components/ui/dropdown-menu.js +0 -51
- package/dist/components/ui/dropdown-menu.js.map +0 -1
- package/dist/components/ui/input.d.ts +0 -4
- package/dist/components/ui/input.d.ts.map +0 -1
- package/dist/components/ui/input.js +0 -7
- package/dist/components/ui/input.js.map +0 -1
- package/dist/components/ui/progress.d.ts +0 -5
- package/dist/components/ui/progress.d.ts.map +0 -1
- package/dist/components/ui/progress.js +0 -8
- package/dist/components/ui/progress.js.map +0 -1
- package/dist/components/ui/scroll-area.d.ts +0 -8
- package/dist/components/ui/scroll-area.d.ts.map +0 -1
- package/dist/components/ui/scroll-area.js +0 -16
- package/dist/components/ui/scroll-area.js.map +0 -1
- package/dist/components/ui/select.d.ts +0 -12
- package/dist/components/ui/select.d.ts.map +0 -1
- package/dist/components/ui/select.js +0 -21
- package/dist/components/ui/select.js.map +0 -1
- package/dist/components/ui/separator.d.ts +0 -5
- package/dist/components/ui/separator.d.ts.map +0 -1
- package/dist/components/ui/separator.js +0 -9
- package/dist/components/ui/separator.js.map +0 -1
- package/dist/components/ui/sheet.d.ts +0 -14
- package/dist/components/ui/sheet.d.ts.map +0 -1
- package/dist/components/ui/sheet.js +0 -66
- package/dist/components/ui/sheet.js.map +0 -1
- package/dist/components/ui/sidebar.d.ts +0 -70
- package/dist/components/ui/sidebar.d.ts.map +0 -1
- package/dist/components/ui/sidebar.js +0 -212
- package/dist/components/ui/sidebar.js.map +0 -1
- package/dist/components/ui/skeleton.d.ts +0 -3
- package/dist/components/ui/skeleton.d.ts.map +0 -1
- package/dist/components/ui/skeleton.js +0 -7
- package/dist/components/ui/skeleton.js.map +0 -1
- package/dist/components/ui/textarea.d.ts +0 -4
- package/dist/components/ui/textarea.d.ts.map +0 -1
- package/dist/components/ui/textarea.js +0 -7
- package/dist/components/ui/textarea.js.map +0 -1
- package/dist/components/ui/tooltip.d.ts +0 -8
- package/dist/components/ui/tooltip.d.ts.map +0 -1
- package/dist/components/ui/tooltip.js +0 -18
- package/dist/components/ui/tooltip.js.map +0 -1
- package/dist/config/chatConfig.d.ts +0 -4
- package/dist/config/chatConfig.d.ts.map +0 -1
- package/dist/config/chatConfig.js +0 -173
- package/dist/config/chatConfig.js.map +0 -1
- package/dist/hooks/use-mobile.d.ts +0 -2
- package/dist/hooks/use-mobile.d.ts.map +0 -1
- package/dist/hooks/use-mobile.js +0 -16
- package/dist/hooks/use-mobile.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/lib/chatUtils.d.ts +0 -18
- package/dist/lib/chatUtils.d.ts.map +0 -1
- package/dist/lib/chatUtils.js +0 -64
- package/dist/lib/chatUtils.js.map +0 -1
- package/dist/lib/utils.d.ts +0 -6
- package/dist/lib/utils.d.ts.map +0 -1
- package/dist/lib/utils.js +0 -46
- package/dist/lib/utils.js.map +0 -1
- package/dist/lib/voiceCompose.d.ts +0 -6
- package/dist/lib/voiceCompose.d.ts.map +0 -1
- package/dist/lib/voiceCompose.js +0 -344
- package/dist/lib/voiceCompose.js.map +0 -1
- package/dist/types/chatTypes.d.ts +0 -386
- package/dist/types/chatTypes.d.ts.map +0 -1
- package/dist/types/chatTypes.js +0 -2
- package/dist/types/chatTypes.js.map +0 -1
package/dist/styles.css
CHANGED
|
@@ -2016,6 +2016,9 @@
|
|
|
2016
2016
|
.pr-8 {
|
|
2017
2017
|
padding-right: calc(var(--spacing) * 8);
|
|
2018
2018
|
}
|
|
2019
|
+
.pr-10 {
|
|
2020
|
+
padding-right: calc(var(--spacing) * 10);
|
|
2021
|
+
}
|
|
2019
2022
|
.pb-1 {
|
|
2020
2023
|
padding-bottom: calc(var(--spacing) * 1);
|
|
2021
2024
|
}
|
|
@@ -2028,6 +2031,9 @@
|
|
|
2028
2031
|
.pl-2 {
|
|
2029
2032
|
padding-left: calc(var(--spacing) * 2);
|
|
2030
2033
|
}
|
|
2034
|
+
.pl-3 {
|
|
2035
|
+
padding-left: calc(var(--spacing) * 3);
|
|
2036
|
+
}
|
|
2031
2037
|
.pl-7 {
|
|
2032
2038
|
padding-left: calc(var(--spacing) * 7);
|
|
2033
2039
|
}
|
|
@@ -2037,9 +2043,6 @@
|
|
|
2037
2043
|
.pl-9 {
|
|
2038
2044
|
padding-left: calc(var(--spacing) * 9);
|
|
2039
2045
|
}
|
|
2040
|
-
.pl-10 {
|
|
2041
|
-
padding-left: calc(var(--spacing) * 10);
|
|
2042
|
-
}
|
|
2043
2046
|
.text-center {
|
|
2044
2047
|
text-align: center;
|
|
2045
2048
|
}
|
package/package.json
CHANGED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { AgentOption } from '../../types/chatTypes';
|
|
3
|
-
interface ParticipantsSelectorProps {
|
|
4
|
-
/** All available agents */
|
|
5
|
-
agents: AgentOption[];
|
|
6
|
-
/** Currently selected participant IDs */
|
|
7
|
-
participantIds: string[];
|
|
8
|
-
/** Callback when participants change */
|
|
9
|
-
onParticipantsChange: (ids: string[]) => void;
|
|
10
|
-
/** Label for the selector */
|
|
11
|
-
label?: string;
|
|
12
|
-
/** Maximum participants to show in collapsed view */
|
|
13
|
-
maxVisible?: number;
|
|
14
|
-
/** Disabled state */
|
|
15
|
-
disabled?: boolean;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Multi-select dropdown for choosing which agents participate in the conversation.
|
|
19
|
-
*/
|
|
20
|
-
export declare const ParticipantsSelector: React.FC<ParticipantsSelectorProps>;
|
|
21
|
-
interface TargetAgentSelectorProps {
|
|
22
|
-
/** Available agents (should be filtered to participants only) */
|
|
23
|
-
agents: AgentOption[];
|
|
24
|
-
/** Currently targeted agent ID */
|
|
25
|
-
targetAgentId: string | null;
|
|
26
|
-
/** Callback when target changes */
|
|
27
|
-
onTargetChange: (agentId: string | null) => void;
|
|
28
|
-
/** Label for the selector */
|
|
29
|
-
label?: string;
|
|
30
|
-
/** Placeholder when no target is selected */
|
|
31
|
-
placeholder?: string;
|
|
32
|
-
/** Disabled state */
|
|
33
|
-
disabled?: boolean;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Single-select dropdown for choosing which agent to address with @mention.
|
|
37
|
-
*/
|
|
38
|
-
export declare const TargetAgentSelector: React.FC<TargetAgentSelectorProps>;
|
|
39
|
-
interface AgentBadgeProps {
|
|
40
|
-
agent: AgentOption;
|
|
41
|
-
onRemove?: () => void;
|
|
42
|
-
showRemove?: boolean;
|
|
43
|
-
size?: 'sm' | 'md';
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Badge displaying an agent with optional remove button.
|
|
47
|
-
*/
|
|
48
|
-
export declare const AgentBadge: React.FC<AgentBadgeProps>;
|
|
49
|
-
export {};
|
|
50
|
-
//# sourceMappingURL=AgentSelectors.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AgentSelectors.d.ts","sourceRoot":"","sources":["../../../src/components/chat/AgentSelectors.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAcpD,UAAU,yBAAyB;IACjC,2BAA2B;IAC3B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,yCAAyC;IACzC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,wCAAwC;IACxC,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC9C,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAoHnE,CAAC;AAIH,UAAU,wBAAwB;IAChC,iEAAiE;IACjE,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,kCAAkC;IAClC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,mCAAmC;IACnC,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAqFjE,CAAC;AAIH,UAAU,eAAe;IACvB,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAyC/C,CAAC"}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { memo, useMemo } from 'react';
|
|
3
|
-
import { Check, ChevronDown, Users, AtSign, X } from 'lucide-react';
|
|
4
|
-
import { Button } from '../ui/button';
|
|
5
|
-
import { Avatar, AvatarFallback, AvatarImage } from '../ui/avatar';
|
|
6
|
-
import { Badge } from '../ui/badge';
|
|
7
|
-
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, DropdownMenuSeparator, DropdownMenuLabel, } from '../ui/dropdown-menu';
|
|
8
|
-
import { getAgentColor, getAgentInitials, assignAgentColors } from '../../lib/chatUtils';
|
|
9
|
-
/**
|
|
10
|
-
* Multi-select dropdown for choosing which agents participate in the conversation.
|
|
11
|
-
*/
|
|
12
|
-
export const ParticipantsSelector = memo(({ agents, participantIds, onParticipantsChange, label = 'Team', maxVisible = 3, disabled = false, }) => {
|
|
13
|
-
// Assign colors to agents that don't have them
|
|
14
|
-
const agentsWithColors = useMemo(() => assignAgentColors(agents), [agents]);
|
|
15
|
-
// Get selected agents
|
|
16
|
-
const selectedAgents = useMemo(() => agentsWithColors.filter(a => participantIds.includes(a.id)), [agentsWithColors, participantIds]);
|
|
17
|
-
const toggleParticipant = (agentId) => {
|
|
18
|
-
if (participantIds.includes(agentId)) {
|
|
19
|
-
// Don't allow removing the last participant
|
|
20
|
-
if (participantIds.length > 1) {
|
|
21
|
-
onParticipantsChange(participantIds.filter(id => id !== agentId));
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
onParticipantsChange([...participantIds, agentId]);
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
const selectAll = () => {
|
|
29
|
-
onParticipantsChange(agentsWithColors.map(a => a.id));
|
|
30
|
-
};
|
|
31
|
-
const visibleAgents = selectedAgents.slice(0, maxVisible);
|
|
32
|
-
const hiddenCount = selectedAgents.length - maxVisible;
|
|
33
|
-
return (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs(Button, { variant: "ghost", className: "h-9 px-2 gap-1.5 text-sm hover:bg-accent/50", disabled: disabled, children: [_jsx(Users, { className: "h-4 w-4 text-muted-foreground" }), _jsx("div", { className: "flex items-center gap-1", children: visibleAgents.length > 0 ? (_jsxs(_Fragment, { children: [_jsx("div", { className: "flex -space-x-1.5", children: visibleAgents.map(agent => (_jsxs(Avatar, { className: "h-5 w-5 border-2 border-background", children: [_jsx(AvatarImage, { src: agent.avatarUrl, alt: agent.name }), _jsx(AvatarFallback, { style: { backgroundColor: agent.color || getAgentColor(agent.id), color: 'white' }, className: "text-[8px]", children: getAgentInitials(agent.name) })] }, agent.id))) }), hiddenCount > 0 && (_jsxs("span", { className: "text-xs text-muted-foreground", children: ["+", hiddenCount] }))] })) : (_jsx("span", { className: "text-muted-foreground", children: label })) }), _jsx(ChevronDown, { className: "h-3 w-3 opacity-50" })] }) }), _jsxs(DropdownMenuContent, { align: "start", className: "w-[260px]", children: [_jsxs(DropdownMenuLabel, { className: "flex items-center justify-between", children: [_jsx("span", { children: "Participants" }), selectedAgents.length < agentsWithColors.length && (_jsx(Button, { variant: "ghost", size: "sm", className: "h-6 text-xs", onClick: selectAll, children: "Select All" }))] }), _jsx(DropdownMenuSeparator, {}), agentsWithColors.map(agent => {
|
|
34
|
-
const isSelected = participantIds.includes(agent.id);
|
|
35
|
-
const isLastSelected = isSelected && participantIds.length === 1;
|
|
36
|
-
return (_jsxs(DropdownMenuItem, { onClick: () => toggleParticipant(agent.id), className: "flex items-center gap-3 p-2 cursor-pointer", disabled: isLastSelected, children: [_jsxs(Avatar, { className: "h-6 w-6", children: [_jsx(AvatarImage, { src: agent.avatarUrl, alt: agent.name }), _jsx(AvatarFallback, { style: { backgroundColor: agent.color || getAgentColor(agent.id), color: 'white' }, className: "text-[10px]", children: getAgentInitials(agent.name) })] }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("div", { className: "font-medium text-sm truncate", children: agent.name }), agent.description && (_jsx("div", { className: "text-xs text-muted-foreground truncate", children: agent.description }))] }), isSelected && (_jsx(Check, { className: "h-4 w-4 text-primary shrink-0" }))] }, agent.id));
|
|
37
|
-
})] })] }));
|
|
38
|
-
});
|
|
39
|
-
ParticipantsSelector.displayName = 'ParticipantsSelector';
|
|
40
|
-
/**
|
|
41
|
-
* Single-select dropdown for choosing which agent to address with @mention.
|
|
42
|
-
*/
|
|
43
|
-
export const TargetAgentSelector = memo(({ agents, targetAgentId, onTargetChange, label = 'Target', placeholder = 'Select agent', disabled = false, }) => {
|
|
44
|
-
// Assign colors to agents
|
|
45
|
-
const agentsWithColors = useMemo(() => assignAgentColors(agents), [agents]);
|
|
46
|
-
// Get selected agent
|
|
47
|
-
const selectedAgent = useMemo(() => agentsWithColors.find(a => a.id === targetAgentId), [agentsWithColors, targetAgentId]);
|
|
48
|
-
return (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs(Button, { variant: "ghost", className: "h-9 px-3 gap-1.5 font-medium text-base hover:bg-accent/50", disabled: disabled, children: [_jsx(AtSign, { className: "h-4 w-4 text-muted-foreground" }), selectedAgent ? (_jsxs("div", { className: "flex items-center gap-2", children: [_jsxs(Avatar, { className: "h-5 w-5", children: [_jsx(AvatarImage, { src: selectedAgent.avatarUrl, alt: selectedAgent.name }), _jsx(AvatarFallback, { style: { backgroundColor: selectedAgent.color || getAgentColor(selectedAgent.id), color: 'white' }, className: "text-[10px]", children: getAgentInitials(selectedAgent.name) })] }), _jsx("span", { className: "max-w-[150px] truncate", children: selectedAgent.name })] })) : (_jsx("span", { className: "text-muted-foreground", children: placeholder })), _jsx(ChevronDown, { className: "h-4 w-4 opacity-50" })] }) }), _jsxs(DropdownMenuContent, { align: "start", className: "w-[280px]", children: [_jsx(DropdownMenuLabel, { children: label }), _jsx(DropdownMenuSeparator, {}), agentsWithColors.map(agent => {
|
|
49
|
-
const isSelected = agent.id === targetAgentId;
|
|
50
|
-
return (_jsxs(DropdownMenuItem, { onClick: () => onTargetChange(agent.id), className: "flex items-start gap-3 p-3 cursor-pointer", children: [_jsxs(Avatar, { className: "h-6 w-6 mt-0.5 shrink-0", children: [_jsx(AvatarImage, { src: agent.avatarUrl, alt: agent.name }), _jsx(AvatarFallback, { style: { backgroundColor: agent.color || getAgentColor(agent.id), color: 'white' }, className: "text-[10px]", children: getAgentInitials(agent.name) })] }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "font-medium text-sm", children: agent.name }), isSelected && (_jsx(Check, { className: "h-4 w-4 text-primary shrink-0" }))] }), agent.description && (_jsx("p", { className: "text-xs text-muted-foreground mt-0.5 line-clamp-2", children: agent.description }))] })] }, agent.id));
|
|
51
|
-
})] })] }));
|
|
52
|
-
});
|
|
53
|
-
TargetAgentSelector.displayName = 'TargetAgentSelector';
|
|
54
|
-
/**
|
|
55
|
-
* Badge displaying an agent with optional remove button.
|
|
56
|
-
*/
|
|
57
|
-
export const AgentBadge = memo(({ agent, onRemove, showRemove = false, size = 'md', }) => {
|
|
58
|
-
const color = agent.color || getAgentColor(agent.id);
|
|
59
|
-
const avatarSize = size === 'sm' ? 'h-4 w-4' : 'h-5 w-5';
|
|
60
|
-
const textSize = size === 'sm' ? 'text-xs' : 'text-sm';
|
|
61
|
-
return (_jsxs(Badge, { variant: "secondary", className: "flex items-center gap-1.5 pr-1", style: { borderColor: color, borderWidth: 1 }, children: [_jsxs(Avatar, { className: avatarSize, children: [_jsx(AvatarImage, { src: agent.avatarUrl, alt: agent.name }), _jsx(AvatarFallback, { style: { backgroundColor: color, color: 'white' }, className: "text-[8px]", children: getAgentInitials(agent.name) })] }), _jsx("span", { className: textSize, children: agent.name }), showRemove && onRemove && (_jsx(Button, { variant: "ghost", size: "icon", className: "h-4 w-4 ml-0.5 hover:bg-destructive/20", onClick: (e) => {
|
|
62
|
-
e.stopPropagation();
|
|
63
|
-
onRemove();
|
|
64
|
-
}, children: _jsx(X, { className: "h-3 w-3" }) }))] }));
|
|
65
|
-
});
|
|
66
|
-
AgentBadge.displayName = 'AgentBadge';
|
|
67
|
-
//# sourceMappingURL=AgentSelectors.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AgentSelectors.js","sourceRoot":"","sources":["../../../src/components/chat/AgentSelectors.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type { ActivityDisplayMode, AssistantActivityState, ChatConfig } from '../../types/chatTypes';
|
|
3
|
-
type ActivityLabels = ChatConfig['labels'];
|
|
4
|
-
interface AssistantActivityProps {
|
|
5
|
-
activity?: AssistantActivityState;
|
|
6
|
-
displayMode: ActivityDisplayMode;
|
|
7
|
-
labels?: ActivityLabels;
|
|
8
|
-
}
|
|
9
|
-
export declare const AssistantActivity: React.NamedExoticComponent<AssistantActivityProps>;
|
|
10
|
-
export {};
|
|
11
|
-
//# sourceMappingURL=AssistantActivity.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AssistantActivity.d.ts","sourceRoot":"","sources":["../../../src/components/chat/AssistantActivity.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,UAAU,EAAY,MAAM,uBAAuB,CAAC;AAQ/G,KAAK,cAAc,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;AAE3C,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,WAAW,EAAE,mBAAmB,CAAC;IACjC,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAgJD,eAAO,MAAM,iBAAiB,oDAwD5B,CAAC"}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { memo, useEffect, useMemo, useState } from 'react';
|
|
3
|
-
import { cn } from '../../lib/utils';
|
|
4
|
-
import { Badge } from '../ui/badge';
|
|
5
|
-
import { Button } from '../ui/button';
|
|
6
|
-
import { Card, CardContent } from '../ui/card';
|
|
7
|
-
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../ui/collapsible';
|
|
8
|
-
import { Brain, ChevronDown, ChevronRight, LoaderCircle, Sparkles, Wrench } from 'lucide-react';
|
|
9
|
-
const interpolate = (template, replacements) => (Object.entries(replacements).reduce((output, [key, value]) => output.replaceAll(`{{${key}}}`, String(value ?? '')), template));
|
|
10
|
-
const resolveSummaryLabel = (activity, labels) => {
|
|
11
|
-
const summary = activity.summary;
|
|
12
|
-
if (summary.kind === 'using_tools') {
|
|
13
|
-
if (summary.toolName) {
|
|
14
|
-
return interpolate(labels?.activityToolRunning || 'Using {{tool}}...', {
|
|
15
|
-
tool: summary.toolName,
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
if (typeof summary.toolCount === 'number' && summary.toolCount > 1) {
|
|
19
|
-
return interpolate(labels?.activityMultipleTools || 'Using {{count}} tools...', {
|
|
20
|
-
count: summary.toolCount,
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
return labels?.activityUsingTools || 'Using tools...';
|
|
24
|
-
}
|
|
25
|
-
if (summary.kind === 'preparing_answer') {
|
|
26
|
-
return labels?.activityPreparingAnswer || 'Preparing answer...';
|
|
27
|
-
}
|
|
28
|
-
if (summary.kind === 'working') {
|
|
29
|
-
return labels?.activityWorking || 'Working...';
|
|
30
|
-
}
|
|
31
|
-
return labels?.activityThinking || 'Thinking...';
|
|
32
|
-
};
|
|
33
|
-
const getStatusIcon = (toolCall) => {
|
|
34
|
-
if (toolCall.status === 'failed') {
|
|
35
|
-
return _jsx(Badge, { variant: "destructive", children: "failed" });
|
|
36
|
-
}
|
|
37
|
-
if (toolCall.status === 'completed') {
|
|
38
|
-
return _jsx(Badge, { variant: "secondary", className: "bg-emerald-500/10 text-emerald-700 dark:text-emerald-300", children: "done" });
|
|
39
|
-
}
|
|
40
|
-
if (toolCall.status === 'running') {
|
|
41
|
-
return _jsx(Badge, { variant: "secondary", className: "bg-primary/10 text-primary", children: "running" });
|
|
42
|
-
}
|
|
43
|
-
return _jsx(Badge, { variant: "secondary", children: "pending" });
|
|
44
|
-
};
|
|
45
|
-
const AssistantActivitySkeleton = memo(function AssistantActivitySkeleton() {
|
|
46
|
-
return (_jsxs("div", { className: "mb-3 flex items-center gap-3 rounded-lg border border-border/50 bg-muted/20 px-3 py-2", children: [_jsxs("div", { className: "flex items-center gap-1.5", children: [_jsx("span", { className: "inline-block h-2 w-2 rounded-full bg-primary/80 animate-pulse" }), _jsx("span", { className: "inline-block h-2 w-2 rounded-full bg-primary/60 animate-pulse [animation-delay:120ms]" }), _jsx("span", { className: "inline-block h-2 w-2 rounded-full bg-primary/40 animate-pulse [animation-delay:240ms]" })] }), _jsx("div", { className: "h-3 w-28 rounded-full bg-muted animate-pulse" })] }));
|
|
47
|
-
});
|
|
48
|
-
const AssistantActivitySummary = memo(function AssistantActivitySummary({ activity, labels, }) {
|
|
49
|
-
const summaryLabel = useMemo(() => resolveSummaryLabel(activity, labels), [activity, labels]);
|
|
50
|
-
const isActive = activity.isActive;
|
|
51
|
-
const icon = activity.summary.kind === 'using_tools'
|
|
52
|
-
? _jsx(Wrench, { className: cn('h-4 w-4 shrink-0', isActive ? 'text-primary' : 'text-muted-foreground') })
|
|
53
|
-
: activity.summary.kind === 'preparing_answer'
|
|
54
|
-
? _jsx(Sparkles, { className: cn('h-4 w-4 shrink-0', isActive ? 'text-primary' : 'text-muted-foreground') })
|
|
55
|
-
: _jsx(Brain, { className: cn('h-4 w-4 shrink-0', isActive ? 'text-primary' : 'text-muted-foreground') });
|
|
56
|
-
return (_jsxs("div", { className: cn('flex items-center gap-2 rounded-lg border px-3 py-2 text-sm transition-colors', isActive ? 'border-primary/30 bg-primary/5 text-foreground' : 'border-border/60 bg-muted/20 text-muted-foreground'), children: [icon, _jsx("span", { className: "min-w-0 flex-1 truncate", children: summaryLabel }), isActive && _jsx(LoaderCircle, { className: "h-4 w-4 shrink-0 animate-spin text-primary" })] }));
|
|
57
|
-
});
|
|
58
|
-
const AssistantActivityDetails = memo(function AssistantActivityDetails({ activity, }) {
|
|
59
|
-
return (_jsxs("div", { className: "space-y-3 pt-3", children: [activity.reasoning && (_jsxs("div", { className: "space-y-1", children: [_jsx("div", { className: "text-xs font-medium uppercase tracking-wide text-muted-foreground", children: "Reasoning" }), _jsx("div", { className: "whitespace-pre-wrap break-words text-sm leading-6 text-muted-foreground", children: activity.reasoning })] })), Array.isArray(activity.toolCalls) && activity.toolCalls.length > 0 && (_jsxs("div", { className: "space-y-2", children: [_jsx("div", { className: "text-xs font-medium uppercase tracking-wide text-muted-foreground", children: "Tools" }), activity.toolCalls.map((toolCall) => (_jsx(Card, { className: "border-border/60 bg-background/70", children: _jsxs(CardContent, { className: "space-y-2 px-3 py-3", children: [_jsxs("div", { className: "flex items-center justify-between gap-3", children: [_jsx("div", { className: "min-w-0", children: _jsx("div", { className: "truncate text-sm font-medium", children: toolCall.name }) }), getStatusIcon(toolCall)] }), _jsxs("div", { className: "space-y-2", children: [_jsxs("div", { children: [_jsx("div", { className: "mb-1 text-[11px] font-medium uppercase tracking-wide text-muted-foreground", children: "Args" }), _jsx("pre", { className: "overflow-x-auto rounded-md bg-muted/70 p-2 text-xs text-muted-foreground", children: JSON.stringify(toolCall.arguments, null, 2) })] }), typeof toolCall.result !== 'undefined' && (_jsxs("div", { children: [_jsx("div", { className: "mb-1 text-[11px] font-medium uppercase tracking-wide text-muted-foreground", children: "Result" }), _jsx("pre", { className: "overflow-x-auto rounded-md bg-muted/70 p-2 text-xs text-muted-foreground", children: JSON.stringify(toolCall.result, null, 2) })] }))] })] }) }, toolCall.id)))] }))] }));
|
|
60
|
-
});
|
|
61
|
-
export const AssistantActivity = memo(function AssistantActivity({ activity, displayMode, labels, }) {
|
|
62
|
-
if (!activity)
|
|
63
|
-
return null;
|
|
64
|
-
if (displayMode === 'hidden') {
|
|
65
|
-
return activity.isActive ? _jsx(AssistantActivitySkeleton, {}) : null;
|
|
66
|
-
}
|
|
67
|
-
if (displayMode === 'summary') {
|
|
68
|
-
if (!activity.isActive && activity.isComplete)
|
|
69
|
-
return null;
|
|
70
|
-
return (_jsx("div", { className: "mb-3", children: _jsx(AssistantActivitySummary, { activity: activity, labels: labels }) }));
|
|
71
|
-
}
|
|
72
|
-
const hasDetails = Boolean(activity.reasoning) || Boolean(activity.toolCalls?.length);
|
|
73
|
-
const defaultOpen = activity.isActive && hasDetails;
|
|
74
|
-
const [open, setOpen] = useState(defaultOpen);
|
|
75
|
-
useEffect(() => {
|
|
76
|
-
if (activity.isActive && hasDetails) {
|
|
77
|
-
setOpen(true);
|
|
78
|
-
}
|
|
79
|
-
}, [activity.isActive, hasDetails]);
|
|
80
|
-
return (_jsx("div", { className: "mb-3", children: _jsx(Collapsible, { open: open, onOpenChange: setOpen, children: _jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("div", { className: "min-w-0 flex-1", children: _jsx(AssistantActivitySummary, { activity: activity, labels: labels }) }), hasDetails && (_jsx(CollapsibleTrigger, { asChild: true, children: _jsxs(Button, { variant: "ghost", size: "sm", className: "h-9 shrink-0 px-2 text-xs text-muted-foreground", children: [open ? (labels?.activityHideDetails || 'Hide details') : (labels?.activityShowDetails || 'Show details'), open ? _jsx(ChevronDown, { className: "ml-1 h-3.5 w-3.5" }) : _jsx(ChevronRight, { className: "ml-1 h-3.5 w-3.5" })] }) }))] }), hasDetails && (_jsx(CollapsibleContent, { className: "overflow-hidden rounded-lg border border-border/60 bg-muted/10 px-3", children: _jsx(AssistantActivityDetails, { activity: activity }) }))] }) }) }));
|
|
81
|
-
});
|
|
82
|
-
//# sourceMappingURL=AssistantActivity.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AssistantActivity.js","sourceRoot":"","sources":["../../../src/components/chat/AssistantActivity.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { ReactNode } from 'react';
|
|
3
|
-
import type { AgentOption } from '../../types/chatTypes';
|
|
4
|
-
export interface ChatHeaderConfig {
|
|
5
|
-
branding?: {
|
|
6
|
-
logo?: ReactNode;
|
|
7
|
-
title?: string;
|
|
8
|
-
subtitle?: string;
|
|
9
|
-
};
|
|
10
|
-
agentSelector?: {
|
|
11
|
-
enabled?: boolean;
|
|
12
|
-
label?: string;
|
|
13
|
-
hideIfSingle?: boolean;
|
|
14
|
-
};
|
|
15
|
-
labels?: {
|
|
16
|
-
newThread?: string;
|
|
17
|
-
exportData?: string;
|
|
18
|
-
importData?: string;
|
|
19
|
-
clearAll?: string;
|
|
20
|
-
sidebarToggle?: string;
|
|
21
|
-
customComponentToggle?: string;
|
|
22
|
-
settings?: string;
|
|
23
|
-
toggleDarkMode?: string;
|
|
24
|
-
lightMode?: string;
|
|
25
|
-
darkMode?: string;
|
|
26
|
-
};
|
|
27
|
-
customComponent?: {
|
|
28
|
-
label?: string;
|
|
29
|
-
icon?: ReactNode;
|
|
30
|
-
onClick?: () => void;
|
|
31
|
-
};
|
|
32
|
-
/** Additional actions to render in the header (before the settings menu) */
|
|
33
|
-
headerActions?: ReactNode;
|
|
34
|
-
}
|
|
35
|
-
export interface ChatHeaderProps {
|
|
36
|
-
config: ChatHeaderConfig;
|
|
37
|
-
currentThreadTitle?: string | null;
|
|
38
|
-
onSidebarToggle?: () => void;
|
|
39
|
-
onCustomComponentToggle?: () => void;
|
|
40
|
-
onNewThread?: () => void;
|
|
41
|
-
onExportData?: () => void;
|
|
42
|
-
onImportData?: (file: File) => void;
|
|
43
|
-
onClearAll?: () => void;
|
|
44
|
-
showCustomComponentButton?: boolean;
|
|
45
|
-
isMobile?: boolean;
|
|
46
|
-
showAgentSelector?: boolean;
|
|
47
|
-
isMultiAgentMode?: boolean;
|
|
48
|
-
agentOptions?: AgentOption[];
|
|
49
|
-
selectedAgentId?: string | null;
|
|
50
|
-
onSelectAgent?: (agentId: string) => void;
|
|
51
|
-
participantIds?: string[];
|
|
52
|
-
onParticipantsChange?: (ids: string[]) => void;
|
|
53
|
-
className?: string;
|
|
54
|
-
}
|
|
55
|
-
export declare const ChatHeader: React.FC<ChatHeaderProps>;
|
|
56
|
-
//# sourceMappingURL=ChatHeader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ChatHeader.d.ts","sourceRoot":"","sources":["../../../src/components/chat/ChatHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAyB1B,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGzD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,aAAa,CAAC,EAAE;QACd,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,eAAe,CAAC,EAAE;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;KACtB,CAAC;IACF,4EAA4E;IAC5E,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,gBAAgB,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,oBAAoB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAmRhD,CAAC"}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import { Card, CardHeader } from '../ui/card';
|
|
4
|
-
import { Button } from '../ui/button';
|
|
5
|
-
import { Avatar, AvatarFallback, AvatarImage } from '../ui/avatar';
|
|
6
|
-
import { Tooltip, TooltipContent, TooltipTrigger } from '../ui/tooltip';
|
|
7
|
-
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from '../ui/dropdown-menu';
|
|
8
|
-
import { Bot, MoreVertical, Download, Upload, Trash2, Plus, Menu, Moon, Sun, ChevronDown, Check, } from 'lucide-react';
|
|
9
|
-
import { SidebarTrigger } from '../ui/sidebar';
|
|
10
|
-
import { ParticipantsSelector } from './AgentSelectors';
|
|
11
|
-
export const ChatHeader = ({ config, currentThreadTitle, onSidebarToggle: _onSidebarToggle, onCustomComponentToggle, onNewThread, onExportData, onImportData, onClearAll, showCustomComponentButton, isMobile, showAgentSelector = false, isMultiAgentMode = false, agentOptions = [], selectedAgentId = null, onSelectAgent, participantIds, onParticipantsChange, className = '', }) => {
|
|
12
|
-
const [isDarkMode, setIsDarkMode] = React.useState(() => {
|
|
13
|
-
if (typeof window === 'undefined')
|
|
14
|
-
return false;
|
|
15
|
-
return document.documentElement.classList.contains('dark');
|
|
16
|
-
});
|
|
17
|
-
React.useEffect(() => {
|
|
18
|
-
const observer = new MutationObserver(() => {
|
|
19
|
-
setIsDarkMode(document.documentElement.classList.contains('dark'));
|
|
20
|
-
});
|
|
21
|
-
observer.observe(document.documentElement, {
|
|
22
|
-
attributes: true,
|
|
23
|
-
attributeFilter: ['class'],
|
|
24
|
-
});
|
|
25
|
-
// Listen for system theme changes
|
|
26
|
-
const mediaQuery = globalThis.matchMedia('(prefers-color-scheme: dark)');
|
|
27
|
-
const handleSystemThemeChange = (e) => {
|
|
28
|
-
const savedTheme = localStorage.getItem('theme');
|
|
29
|
-
if (!savedTheme) {
|
|
30
|
-
// Only update if user hasn't set an explicit preference
|
|
31
|
-
setIsDarkMode(e.matches);
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
mediaQuery.addEventListener('change', handleSystemThemeChange);
|
|
35
|
-
return () => {
|
|
36
|
-
observer.disconnect();
|
|
37
|
-
mediaQuery.removeEventListener('change', handleSystemThemeChange);
|
|
38
|
-
};
|
|
39
|
-
}, []);
|
|
40
|
-
const toggleDarkMode = () => {
|
|
41
|
-
const isDark = document.documentElement.classList.contains('dark');
|
|
42
|
-
if (isDark) {
|
|
43
|
-
document.documentElement.classList.remove('dark');
|
|
44
|
-
localStorage.setItem('theme', 'light');
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
document.documentElement.classList.add('dark');
|
|
48
|
-
localStorage.setItem('theme', 'dark');
|
|
49
|
-
}
|
|
50
|
-
setIsDarkMode(!isDark);
|
|
51
|
-
};
|
|
52
|
-
const handleImportClick = () => {
|
|
53
|
-
const input = document.createElement('input');
|
|
54
|
-
input.type = 'file';
|
|
55
|
-
input.accept = '.json';
|
|
56
|
-
input.onchange = (e) => {
|
|
57
|
-
const file = e.target.files?.[0];
|
|
58
|
-
if (file && onImportData) {
|
|
59
|
-
onImportData(file);
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
input.click();
|
|
63
|
-
};
|
|
64
|
-
const selectedAgent = agentOptions.find((agent) => agent.id === selectedAgentId) || null;
|
|
65
|
-
const agentPlaceholder = config.agentSelector?.label || 'Select agent';
|
|
66
|
-
return (_jsx(Card, { "data-chat-header": true, className: `py-0 border-b rounded-none relative z-10 bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/80 ${className}`, style: isMobile ? { paddingTop: 'env(safe-area-inset-top)' } : undefined, children: _jsx(CardHeader, { className: "p-2", children: _jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsxs("div", { className: "flex items-center gap-1", children: [_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(SidebarTrigger, { className: "-ml-1" }) }), _jsx(TooltipContent, { children: config.labels?.sidebarToggle || 'Toggle Sidebar' })] }), showAgentSelector && isMultiAgentMode && onParticipantsChange && (_jsx(ParticipantsSelector, { agents: agentOptions, participantIds: participantIds ?? agentOptions.map(a => a.id), onParticipantsChange: onParticipantsChange })), showAgentSelector && !isMultiAgentMode && (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs(Button, { variant: "ghost", className: "h-9 px-3 gap-1.5 font-medium text-base hover:bg-accent/50", children: [selectedAgent?.avatarUrl ? (_jsxs(Avatar, { className: "h-5 w-5", children: [_jsx(AvatarImage, { src: selectedAgent.avatarUrl, alt: selectedAgent.name }), _jsx(AvatarFallback, { className: "text-[10px]", children: selectedAgent.name.charAt(0).toUpperCase() })] })) : null, _jsx("span", { className: "max-w-[200px] truncate", children: selectedAgent?.name || agentPlaceholder }), _jsx(ChevronDown, { className: "h-4 w-4 opacity-50" })] }) }), _jsx(DropdownMenuContent, { align: "start", className: "w-[280px]", children: agentOptions.map((agent) => {
|
|
67
|
-
const isSelected = agent.id === selectedAgentId;
|
|
68
|
-
return (_jsxs(DropdownMenuItem, { onClick: () => onSelectAgent?.(agent.id), className: "flex items-start gap-3 p-3 cursor-pointer", children: [agent.avatarUrl ? (_jsxs(Avatar, { className: "h-6 w-6 mt-0.5 shrink-0", children: [_jsx(AvatarImage, { src: agent.avatarUrl, alt: agent.name }), _jsx(AvatarFallback, { className: "text-[10px]", children: agent.name.charAt(0).toUpperCase() })] })) : (_jsx("div", { className: "h-6 w-6 mt-0.5 shrink-0 flex items-center justify-center rounded-full bg-primary/10", children: _jsx(Bot, { className: "h-3.5 w-3.5 text-primary" }) })), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "font-medium text-sm", children: agent.name }), isSelected && (_jsx(Check, { className: "h-4 w-4 text-primary shrink-0" }))] }), agent.description && (_jsx("p", { className: "text-xs text-muted-foreground mt-0.5 line-clamp-2", children: agent.description }))] })] }, agent.id));
|
|
69
|
-
}) })] })), !showAgentSelector && isMobile && (_jsx("span", { className: "text-sm font-medium truncate max-w-[150px] ml-2", children: currentThreadTitle || config.branding?.title || 'Chat' }))] }), _jsx("div", { className: "flex-1" }), _jsxs("div", { className: "flex items-center gap-1", children: [showCustomComponentButton && config.customComponent && (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", size: "icon", className: "h-8 w-8", onClick: onCustomComponentToggle, children: config.customComponent.icon || _jsx(Menu, { className: "h-4 w-4" }) }) }), _jsx(TooltipContent, { children: config.customComponent.label || config.labels?.customComponentToggle || 'Toggle' })] })), config.headerActions, _jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", size: "icon", className: "h-8 w-8", children: _jsx(MoreVertical, { className: "h-4 w-4" }) }) }), _jsxs(DropdownMenuContent, { align: "end", children: [onNewThread && (_jsxs(_Fragment, { children: [_jsxs(DropdownMenuItem, { onClick: () => onNewThread?.(), className: "font-medium text-primary", children: [_jsx(Plus, { className: "h-4 w-4 mr-2" }), config.labels?.newThread || 'New Thread'] }), _jsx(DropdownMenuSeparator, {})] })), onExportData && (_jsxs(DropdownMenuItem, { onClick: onExportData, children: [_jsx(Download, { className: "h-4 w-4 mr-2" }), config.labels?.exportData || 'Export Data'] })), onImportData && (_jsxs(DropdownMenuItem, { onClick: handleImportClick, children: [_jsx(Upload, { className: "h-4 w-4 mr-2" }), config.labels?.importData || 'Import Data'] })), (onExportData || onImportData) && (_jsx(DropdownMenuSeparator, {})), _jsx(DropdownMenuItem, { onClick: toggleDarkMode, children: isDarkMode ? (_jsxs(_Fragment, { children: [_jsx(Sun, { className: "h-4 w-4 mr-2" }), config.labels?.lightMode || 'Light Mode'] })) : (_jsxs(_Fragment, { children: [_jsx(Moon, { className: "h-4 w-4 mr-2" }), config.labels?.darkMode || 'Dark Mode'] })) }), onClearAll && (_jsxs(_Fragment, { children: [_jsx(DropdownMenuSeparator, {}), _jsxs(DropdownMenuItem, { onClick: onClearAll, className: "text-destructive", children: [_jsx(Trash2, { className: "h-4 w-4 mr-2" }), config.labels?.clearAll || 'Clear All'] })] }))] })] })] })] }) }) }));
|
|
70
|
-
};
|
|
71
|
-
//# sourceMappingURL=ChatHeader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ChatHeader.js","sourceRoot":"","sources":["../../../src/components/chat/ChatHeader.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { AgentOption, MediaAttachment, ChatConfig } from '../../types/chatTypes';
|
|
3
|
-
interface ChatInputProps {
|
|
4
|
-
value: string;
|
|
5
|
-
onChange: (value: string) => void;
|
|
6
|
-
onSubmit: (content: string, attachments: MediaAttachment[]) => void;
|
|
7
|
-
attachments: MediaAttachment[];
|
|
8
|
-
onAttachmentsChange: (attachments: MediaAttachment[]) => void;
|
|
9
|
-
placeholder?: string;
|
|
10
|
-
disabled?: boolean;
|
|
11
|
-
isGenerating?: boolean;
|
|
12
|
-
onStopGeneration?: () => void;
|
|
13
|
-
enableFileUpload?: boolean;
|
|
14
|
-
enableAudioRecording?: boolean;
|
|
15
|
-
maxAttachments?: number;
|
|
16
|
-
maxFileSize?: number;
|
|
17
|
-
acceptedFileTypes?: string[];
|
|
18
|
-
className?: string;
|
|
19
|
-
config?: ChatConfig;
|
|
20
|
-
mentionAgents?: AgentOption[];
|
|
21
|
-
onTargetAgentChange?: (agentId: string | null) => void;
|
|
22
|
-
}
|
|
23
|
-
export declare const ChatInput: React.FC<ChatInputProps>;
|
|
24
|
-
export {};
|
|
25
|
-
//# sourceMappingURL=ChatInput.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ChatInput.d.ts","sourceRoot":"","sources":["../../../src/components/chat/ChatInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAE9E,OAAO,EACL,WAAW,EACX,eAAe,EAEf,UAAU,EAKX,MAAM,uBAAuB,CAAC;AAwB/B,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC;IACpE,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,mBAAmB,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;IAC9B,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACxD;AA+QD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAm5B7C,CAAC"}
|