@stack-spot/ai-chat-widget 1.20.2-beta.1 → 1.20.2-beta.10

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stack-spot/ai-chat-widget",
3
- "version": "1.20.2-beta.1",
4
- "date": "Wed May 14 2025 17:13:09 GMT-0300 (Horário Padrão de Brasília)",
3
+ "version": "1.20.2-beta.10",
4
+ "date": "Mon May 19 2025 15:28:06 GMT-0300 (Horário Padrão de Brasília)",
5
5
  "dependencies": [
6
6
  {
7
7
  "name": "@stack-spot/app-metadata",
@@ -98,15 +98,15 @@ const Styled = styled.div `
98
98
  &:before {
99
99
  content: '';
100
100
  display: block;
101
- width: 33%;
101
+ width: 100%;
102
102
  height: 100%;
103
103
  background: ${({ $fg, $animate, $bg }) => $animate ? gradientFromColorArray($fg) : $bg};
104
- animation: ${({ $animate }) => $animate ? 'slide 1.5s infinite forwards' : 'none'};
104
+ animation: ${({ $animate }) => $animate ? 'slide .5s infinite forwards' : 'none'};
105
105
  }
106
106
 
107
107
  @keyframes slide {
108
108
  from {
109
- margin-left: -33%;
109
+ margin-left: -100%;
110
110
  }
111
111
  to {
112
112
  margin-left: 100%;
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressBar.js","sourceRoot":"","sources":["../../src/components/ProgressBar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProgressBar.js","sourceRoot":"","sources":["../../src/components/ProgressBar.tsx"],"names":[],"mappings":"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"}
package/dist/layout.css CHANGED
@@ -31,7 +31,6 @@
31
31
  background-color: var(--light-400);
32
32
  border-radius: 4px;
33
33
  position: relative;
34
- overflow: hidden;
35
34
  width: 100%;
36
35
  height: 100%;
37
36
 
@@ -104,11 +103,13 @@
104
103
  }
105
104
 
106
105
  .chat-content {
106
+ padding-bottom: 16px;
107
107
  display: flex;
108
108
  flex-direction: column;
109
109
  flex: 1;
110
110
  flex-basis: 0;
111
111
  overflow: auto;
112
+ padding-right: 12px;
112
113
  }
113
114
 
114
115
  .chat-right-panel {
@@ -22,7 +22,7 @@ interface Props extends CustomMessage {
22
22
  /**
23
23
  * The name of the user currently logged in (will be used if the agent type of the message is "user").
24
24
  */
25
- username: string;
25
+ username?: string;
26
26
  /**
27
27
  * Whether or not this is the last message in the chat. This is important for disabling action buttons in messages that are no longer
28
28
  * relevant.
@@ -32,6 +32,6 @@ interface Props extends CustomMessage {
32
32
  /**
33
33
  * Renders a message (ChatEntry) in the chat.
34
34
  */
35
- export declare const ChatMessage: ({ message, username, isLast, beforeMessage, afterMessage }: Props) => false | "" | import("react/jsx-runtime").JSX.Element;
35
+ export declare const ChatMessage: ({ message, isLast, beforeMessage, afterMessage }: Props) => false | "" | import("react/jsx-runtime").JSX.Element;
36
36
  export {};
37
37
  //# sourceMappingURL=ChatMessage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatMessage.d.ts","sourceRoot":"","sources":["../../../src/views/Chat/ChatMessage.tsx"],"names":[],"mappings":"AAQA,OAAO,qCAAqC,CAAA;AAI5C,OAAO,EAAE,SAAS,EAAqC,MAAM,uBAAuB,CAAA;AAQpF,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QAAE,OAAO,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;IACjD;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QAAE,OAAO,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;CACjD;AAED,UAAU,KAAM,SAAQ,aAAa;IACnC;;OAEG;IACH,OAAO,EAAE,SAAS,CAAC;IACnB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB;AA2HD;;GAEG;AACH,eAAO,MAAM,WAAW,+DAAgE,KAAK,yDA8K5F,CAAA"}
1
+ {"version":3,"file":"ChatMessage.d.ts","sourceRoot":"","sources":["../../../src/views/Chat/ChatMessage.tsx"],"names":[],"mappings":"AAQA,OAAO,qCAAqC,CAAA;AAI5C,OAAO,EAAE,SAAS,EAAqC,MAAM,uBAAuB,CAAA;AAQpF,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QAAE,OAAO,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;IACjD;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QAAE,OAAO,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;CACjD;AAED,UAAU,KAAM,SAAQ,aAAa;IACnC;;OAEG;IACH,OAAO,EAAE,SAAS,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB;AA2HD;;GAEG;AACH,eAAO,MAAM,WAAW,qDAAsD,KAAK,yDAyMlF,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { Box, Button, Checkbox, Flex, IconBox, Input, Label, Radio, Text } from '@citric/core';
3
3
  import { Cog, Copy, Dislike, DislikeFill, Like, LikeFill, TimesCircle } from '@citric/icons';
4
- import { Avatar, Badge, IconButton } from '@citric/ui';
4
+ import { Badge, IconButton } from '@citric/ui';
5
5
  import { agentClient } from '@stack-spot/portal-network';
6
6
  import { listToClass } from '@stack-spot/portal-theme';
7
7
  import { useTranslate } from '@stack-spot/portal-translate';
@@ -74,14 +74,15 @@ const RenderInputsEntry = ({ isLast, entry, value, setValue, labels, setLabels }
74
74
  /**
75
75
  * Renders a message (ChatEntry) in the chat.
76
76
  */
77
- export const ChatMessage = ({ message, username, isLast, beforeMessage, afterMessage }) => {
77
+ export const ChatMessage = ({ message, isLast, beforeMessage, afterMessage }) => {
78
78
  const t = useTranslate(dictionary);
79
79
  const [liked, setLiked] = useState();
80
80
  const [value, setValue] = useState(message.getValue()?.initialValue ?? []);
81
81
  const [labels, setLabels] = useState(message.getValue()?.initialValue ?? []);
82
82
  const entry = useChatEntry(message);
83
83
  const dateFormatter = useDateFormatter();
84
- const userInfo = entry.agentType === 'user' ? _jsx(Avatar, { size: "xs", children: username }) : _jsx(AgentInfo, { agent: entry.agent });
84
+ // const userInfo = entry.agentType === 'user' ? <Avatar size="xs">{username}</Avatar> : <AgentInfo agent={entry.agent} />
85
+ const userInfo = entry.agentType === 'user' ? _jsx(_Fragment, {}) : _jsx(AgentInfo, { agent: entry.agent });
85
86
  const date = new Date(entry.updated ?? '');
86
87
  const shouldShowFooter = entry.updated && !isNaN(date.getTime());
87
88
  const ref = useRef(null);
@@ -90,6 +91,7 @@ export const ChatMessage = ({ message, username, isLast, beforeMessage, afterMes
90
91
  const chat = useCurrentChat();
91
92
  const agentId = entry.agent?.id ?? '';
92
93
  const [agent] = agentClient.agentById.useStatefulQuery({ agentId, builtIn: !!entry?.agent?.builtIn }, { enabled: !!agentId });
94
+ const [copied, setCopied] = useState(false);
93
95
  useChatScrollToBottomEffect(ref, [entry]);
94
96
  const detailKS = useCallback(({ name, slug, documentScore, documentId }) => {
95
97
  widget.set('currentKSInPanel', { name, slug, score: documentScore, documentId });
@@ -132,13 +134,15 @@ export const ChatMessage = ({ message, username, isLast, beforeMessage, afterMes
132
134
  }
133
135
  };
134
136
  const renderActions = useCallback(() => _jsxs(_Fragment, { children: [" ", entry.actions?.length && (_jsx("div", { className: "actions", children: entry.actions.map((a, index) => (_jsx(_Fragment, { children: (!a.hideWhenNotLast || isLast) && _jsx(Button, { appearance: a.appearance === 'primary' ? 'contained' : 'outlined', colorScheme: a.colorScheme ? a.colorScheme : 'inverse', onClick: () => runAction(a), disabled: (entry.required && !value.length) ?? !isLast, type: a.buttonType ?? 'button', size: a.size, children: a.title }, index) }))) }))] }), [entry, isLast, runAction]);
137
+ const handleCopy = () => {
138
+ onCopyAll(entry, chat);
139
+ setCopied(true);
140
+ setTimeout(() => setCopied(false), 1000);
141
+ };
135
142
  const renderContent = () => {
136
143
  if (entry.type === 'md') {
137
144
  return _jsxs(_Fragment, { children: [_jsx(Markdown, { onCopyCode: (code) => onCopyCode(code, entry.messageId ?? '', chat), children: entry.content }), renderActions()] });
138
145
  }
139
- if (entry.type === 'text') {
140
- return _jsxs(_Fragment, { children: [_jsx("p", { className: "plain-text", children: entry.content }), renderActions()] });
141
- }
142
146
  return _jsxs("form", { children: [_jsx(RenderInputsEntry, { entry: entry, isLast: isLast, value: value, setValue: setValue, setLabels: setLabels, labels: labels }), _jsx(Box, { mt: "4", children: renderActions() })] });
143
147
  };
144
148
  function openToolsPanel() {
@@ -148,7 +152,7 @@ export const ChatMessage = ({ message, username, isLast, beforeMessage, afterMes
148
152
  return (entry.content || entry.error || !!entry.steps?.length) && (_jsxs("li", { className: entry.agentType, ref: ref, children: [_jsxs("div", { className: "chat-message", ref: chatRef, onKeyDown: handleKeyDown, tabIndex: 0, children: [_jsx("div", { className: `user-info ${entry.agentType}`, children: userInfo }), beforeMessage && createElement(beforeMessage, { message }), (entry.content || entry.steps) && _jsxs("div", { className: listToClass(['message-content', entry.card && 'card', entry.type]), children: [!!entry.badges?.length && _jsx("div", { className: "badges", children: entry.badges.map((b, index) => _jsx(Badge, { palette: b.color ?? 'cyan', appearance: "square", children: b.label }, index)) }), renderContent(), !!entry.steps?.length && _jsx(StepsList, { steps: entry.steps, chatId: chat.id, messageId: message.id })] })] }), entry.error && (_jsxs("div", { className: "error", children: [_jsx(IconBox, { size: "xs", children: _jsx(TimesCircle, {}) }), _jsx(Text, { appearance: "microtext1", children: entry.error })] })), afterMessage && createElement(afterMessage, { message }), !!entry.tools?.length && _jsx(StackedBadge, { "aria-label": t.openToolsPanel, title: t.openToolsPanel, tabIndex: 0, role: "button", className: "tools-badge", label: t.tools, images: entry.tools.slice(0, 3).map((id) => {
149
153
  const tool = toolById(id, agent?.toolkits);
150
154
  return { key: id, name: tool?.name || id, icon: _jsx(Cog, {}), url: tool?.image };
151
- }), onClick: openToolsPanel }), !!entry.knowledgeSources?.length && _jsxs("div", { className: "ks-box", children: [_jsx(Text, { appearance: "microtext1", colorScheme: "light.700", children: "Knowledge Sources:" }), _jsx("ul", { children: entry.knowledgeSources.map((ks, index) => (_jsx("li", { children: _jsx(Button, { size: "sm", colorScheme: "light", onClick: () => detailKS(ks), children: ks.name }) }, index))) })] }), shouldShowFooter && _jsxs("div", { className: "message-footer", children: [entry.agentType === 'bot' && !entry.error && _jsxs("div", { className: "message-actions", children: [entry.type === 'md' && (_jsx(IconButton, { title: t.copy, "aria-label": t.copy, onClick: () => onCopyAll(entry, chat), children: _jsx(Copy, {}) })), entry.messageId && (_jsxs(_Fragment, { children: [_jsx(IconButton, { title: t.like, "aria-label": t.like, onClick: like, children: liked === true ? _jsx(LikeFill, {}) : _jsx(Like, {}) }), _jsx(IconButton, { title: t.dislike, "aria-label": t.dislike, onClick: dislike, children: liked === false ? _jsx(DislikeFill, {}) : _jsx(Dislike, {}) })] }))] }), _jsx(Text, { appearance: "microtext1", className: "chat-date", children: dateFormatter.formatForChatMessage(date) })] })] }, entry.messageId));
155
+ }), onClick: openToolsPanel }), !!entry.knowledgeSources?.length && _jsxs("div", { className: "ks-box", children: [_jsx(Text, { appearance: "microtext1", colorScheme: "light.700", children: "Knowledge Sources:" }), _jsx("ul", { children: entry.knowledgeSources.map((ks, index) => (_jsx("li", { children: _jsx(Button, { size: "sm", colorScheme: "light", onClick: () => detailKS(ks), children: ks.name }) }, index))) })] }), shouldShowFooter && _jsxs("div", { className: "message-footer", children: [entry.agentType === 'bot' && !entry.error && _jsxs("div", { className: "message-actions", children: [entry.type === 'md' && (_jsxs(IconButton, { appearance: "square", color: "light", title: t.copy, "aria-label": t.copy, onClick: handleCopy, children: [_jsx(Copy, {}), copied && (_jsx("div", { style: { fontSize: 12, marginLeft: 4 }, children: _jsx(Text, { appearance: "microtext1", colorScheme: "light.700", children: t.copied }) }))] })), entry.messageId && (_jsxs(_Fragment, { children: [_jsx(IconButton, { appearance: "square", color: "light", title: t.like, "aria-label": t.like, onClick: like, children: liked === true ? _jsx(LikeFill, {}) : _jsx(Like, {}) }), _jsx(IconButton, { appearance: "square", color: "light", title: t.dislike, "aria-label": t.dislike, onClick: dislike, children: liked === false ? _jsx(DislikeFill, {}) : _jsx(Dislike, {}) })] }))] }), entry.agentType === 'user' && (_jsx("div", { className: "message-actions", children: _jsxs(IconButton, { appearance: "square", color: "light", title: t.copy, "aria-label": t.copy, onClick: handleCopy, size: "sm", children: [_jsx(Copy, {}), copied && (_jsx("div", { style: { fontSize: 12, marginLeft: 4 }, children: _jsx(Text, { appearance: "microtext1", colorScheme: "light.700", children: t.copied }) }))] }) })), _jsx(Text, { as: "label", appearance: "microtext1", className: "chat-date", children: dateFormatter.formatForChatMessage(date) })] })] }, entry.messageId));
152
156
  };
153
157
  const dictionary = {
154
158
  en: {
@@ -157,6 +161,7 @@ const dictionary = {
157
161
  dislike: 'Dislike',
158
162
  tools: 'Tools',
159
163
  openToolsPanel: 'Open the tools panel to see more details.',
164
+ copied: 'Copied',
160
165
  },
161
166
  pt: {
162
167
  copy: 'Copiar',
@@ -164,6 +169,7 @@ const dictionary = {
164
169
  dislike: 'Não gostei',
165
170
  tools: 'Ferramentas',
166
171
  openToolsPanel: 'Abrir o painel de ferramentas para ver mais detalhes.',
172
+ copied: 'Copiado',
167
173
  },
168
174
  };
169
175
  //# sourceMappingURL=ChatMessage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatMessage.js","sourceRoot":"","sources":["../../../src/views/Chat/ChatMessage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatMessage.js","sourceRoot":"","sources":["../../../src/views/Chat/ChatMessage.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../src/views/Chat/styled.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAEzD,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAE7E,eAAO,MAAM,QAAQ,EAAE,oBAAoB,CACzC,KAAK,EACL,QAAQ,CAAC,iBAAiB,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,EAAE,KAAK,CAAC,CAwPvF,CAAA"}
1
+ {"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../src/views/Chat/styled.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAEzD,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAE7E,eAAO,MAAM,QAAQ,EAAE,oBAAoB,CACzC,KAAK,EACL,QAAQ,CAAC,iBAAiB,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,EAAE,KAAK,CAAC,CA8PvF,CAAA"}
@@ -5,7 +5,8 @@ export const ChatList = styled.ul `
5
5
  flex-direction: column;
6
6
  justify-content: end;
7
7
  gap: 20px;
8
- margin: 0 5px;
8
+ /* margin: 0 5px; */
9
+ margin: 0;
9
10
  padding: 0;
10
11
  flex: 1;
11
12
 
@@ -55,14 +56,18 @@ export const ChatList = styled.ul `
55
56
  .message-footer {
56
57
  display: flex;
57
58
  flex-direction: row;
59
+ align-items: center;
60
+ gap: 8px;
58
61
 
59
62
  .message-actions {
60
63
  display: flex;
61
64
  flex-direction: row;
62
- gap: 8px;
65
+ gap: 4px;
63
66
  }
64
67
 
65
68
  .chat-date {
69
+ display: inline-block;
70
+ align-content: flex-end;
66
71
  opacity: 0.6;
67
72
  margin-left: auto;
68
73
  }
@@ -139,9 +144,10 @@ export const ChatList = styled.ul `
139
144
  gap: 8px;
140
145
 
141
146
  .message-content {
142
- padding: 10px;
147
+ padding: 16px;
148
+ border-radius: 24px;
149
+ border-top-right-radius: 0;
143
150
  background-color: ${theme.color.light[500]};
144
- border-radius: 4px;
145
151
 
146
152
  .markdown > p:first-child {
147
153
  margin-top: 0;
@@ -1 +1 @@
1
- {"version":3,"file":"styled.js","sourceRoot":"","sources":["../../../src/views/Chat/styled.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAG1C,MAAM,CAAC,MAAM,QAAQ,GAGjB,MAAM,CAAC,EAAE,CAAA;;;;;;;;;;;;;;wBAcW,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;aAClC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY;;;;;cAK9B,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA4BnB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAmCjB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;8BAItB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;4BA2BxB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;gDAUF,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;8BAgBtE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;wBAyB5B,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkF7C,CAAA"}
1
+ {"version":3,"file":"styled.js","sourceRoot":"","sources":["../../../src/views/Chat/styled.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAG1C,MAAM,CAAC,MAAM,QAAQ,GAGjB,MAAM,CAAC,EAAE,CAAA;;;;;;;;;;;;;;;wBAeW,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;aAClC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY;;;;;cAK9B,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA4BnB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAuCjB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;8BAItB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;4BA2BxB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;gDAUF,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;8BAkBtE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;wBAwB5B,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkF7C,CAAA"}
@@ -11,6 +11,6 @@ export const ButtonBar = ({ onSend, isLoading, focused }) => {
11
11
  const chat = useCurrentChat();
12
12
  const widget = useWidget();
13
13
  const features = useCurrentChatState('features');
14
- return (_jsxs(SelectionBarWrapper, { "$inputFocused": focused, children: [_jsxs(Flex, { children: [_jsx(SelectContent, {}), features.editor && (_jsx(IconButton, { color: "light", appearance: "square", "aria-label": t.code, title: t.code, onClick: () => widget.set('panel', 'editor'), children: _jsx(Code, {}) }))] }), _jsx(Flex, { children: isLoading ? (_jsx(IconButton, { appearance: "square", color: "inverse", "aria-label": t.cancel, onClick: () => chat.abort(), className: "send", title: t.cancel, children: _jsx(Stop, {}) })) : (_jsx(IconButton, { appearance: "square", color: "inverse", "aria-label": t.send, onClick: onSend, className: "send", title: t.send, children: _jsx(ArrowUp, {}) })) })] }));
14
+ return (_jsxs(SelectionBarWrapper, { className: "button-group", "$inputFocused": focused, children: [_jsxs(Flex, { sx: { gap: '4px' }, children: [_jsx(SelectContent, {}), features.editor && (_jsx(IconButton, { color: "light", appearance: "square", "aria-label": t.code, title: t.code, onClick: () => widget.set('panel', 'editor'), children: _jsx(Code, {}) }))] }), _jsx(Flex, { children: isLoading ? (_jsx(IconButton, { appearance: "square", color: "inverse", "aria-label": t.cancel, onClick: () => chat.abort(), className: "send", title: t.cancel, children: _jsx(Stop, {}) })) : (_jsx(IconButton, { appearance: "square", color: "inverse", "aria-label": t.send, onClick: onSend, className: "send", title: t.send, children: _jsx(ArrowUp, {}) })) })] }));
15
15
  };
16
16
  //# sourceMappingURL=ButtonBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonBar.js","sourceRoot":"","sources":["../../../src/views/MessageInput/ButtonBar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAiB9C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAqB,EAAE,EAAE;IAC7E,MAAM,CAAC,GAAG,yBAAyB,EAAE,CAAA;IACrC,MAAM,IAAI,GAAG,cAAc,EAAE,CAAA;IAC7B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,QAAQ,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAA;IAEhD,OAAO,CACL,MAAC,mBAAmB,qBAAgB,OAAO,aACzC,MAAC,IAAI,eACH,KAAC,aAAa,KAAG,EAChB,QAAQ,CAAC,MAAM,IAAI,CAClB,KAAC,UAAU,IAAC,KAAK,EAAC,OAAO,EAAC,UAAU,EAAC,QAAQ,gBAAa,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,YAC3H,KAAC,IAAI,KAAG,GACG,CACd,IACI,EACP,KAAC,IAAI,cACF,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,UAAU,IAAC,UAAU,EAAC,QAAQ,EAAC,KAAK,EAAC,SAAS,gBAAa,CAAC,CAAC,MAAM,EAClE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAC,MAAM,EAAC,KAAK,EAAE,CAAC,CAAC,MAAM,YAC7D,KAAC,IAAI,KAAG,GACG,CACd,CAAC,CAAC,CAAC,CACF,KAAC,UAAU,IAAC,UAAU,EAAC,QAAQ,EAAC,KAAK,EAAC,SAAS,gBAAa,CAAC,CAAC,IAAI,EAChE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAC,MAAM,EAAC,KAAK,EAAE,CAAC,CAAC,IAAI,YAC/C,KAAC,OAAO,KAAG,GACA,CACd,GACI,IACa,CACvB,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"ButtonBar.js","sourceRoot":"","sources":["../../../src/views/MessageInput/ButtonBar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAiB9C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAqB,EAAE,EAAE;IAC7E,MAAM,CAAC,GAAG,yBAAyB,EAAE,CAAA;IACrC,MAAM,IAAI,GAAG,cAAc,EAAE,CAAA;IAC7B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,QAAQ,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAA;IAEhD,OAAO,CACL,MAAC,mBAAmB,IAAC,SAAS,EAAC,cAAc,mBAAgB,OAAO,aAClE,MAAC,IAAI,IAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,aACtB,KAAC,aAAa,KAAG,EAChB,QAAQ,CAAC,MAAM,IAAI,CAClB,KAAC,UAAU,IAAC,KAAK,EAAC,OAAO,EAAC,UAAU,EAAC,QAAQ,gBAAa,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,YAC3H,KAAC,IAAI,KAAG,GACG,CACd,IACI,EACP,KAAC,IAAI,cACF,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,UAAU,IAAC,UAAU,EAAC,QAAQ,EAAC,KAAK,EAAC,SAAS,gBAAa,CAAC,CAAC,MAAM,EAClE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAC,MAAM,EAAC,KAAK,EAAE,CAAC,CAAC,MAAM,YAC7D,KAAC,IAAI,KAAG,GACG,CACd,CAAC,CAAC,CAAC,CACF,KAAC,UAAU,IAAC,UAAU,EAAC,QAAQ,EAAC,KAAK,EAAC,SAAS,gBAAa,CAAC,CAAC,IAAI,EAChE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAC,MAAM,EAAC,KAAK,EAAE,CAAC,CAAC,IAAI,YAC/C,KAAC,OAAO,KAAG,GACA,CACd,GACI,IACa,CACvB,CAAA;AACH,CAAC,CAAA"}
@@ -1,2 +1,2 @@
1
- export declare const SelectContent: () => import("react/jsx-runtime").JSX.Element;
1
+ export declare const SelectContent: () => import("react/jsx-runtime").JSX.Element | null;
2
2
  //# sourceMappingURL=SelectContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectContent.d.ts","sourceRoot":"","sources":["../../../src/views/MessageInput/SelectContent.tsx"],"names":[],"mappings":"AAMA,eAAO,MAAM,aAAa,+CAkCzB,CAAA"}
1
+ {"version":3,"file":"SelectContent.d.ts","sourceRoot":"","sources":["../../../src/views/MessageInput/SelectContent.tsx"],"names":[],"mappings":"AASA,eAAO,MAAM,aAAa,sDAgEzB,CAAA"}
@@ -2,18 +2,47 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
2
2
  import { Clip, KnowledgeSource, Spaces, Stack } from '@citric/icons';
3
3
  import { IconButton } from '@citric/ui';
4
4
  import { SelectionList } from '@stack-spot/portal-components/SelectionList';
5
- import { useState } from 'react';
6
- import { useWidget } from '../../context/hooks.js';
5
+ import { useMemo, useState } from 'react';
6
+ import { useCurrentChatState, useWidget } from '../../context/hooks.js';
7
7
  export const SelectContent = () => {
8
8
  const widget = useWidget();
9
9
  const [visibleMenu, setVisibleMenu] = useState(false);
10
+ const features = useCurrentChatState('features');
11
+ const hasFeatureButtons = features.workspace || features.knowledgeSource || features.stack;
12
+ const itemConfigs = [
13
+ {
14
+ key: 'knowledgeSource',
15
+ label: 'Knowledge Sources',
16
+ icon: _jsx(KnowledgeSource, {}),
17
+ panel: 'ks',
18
+ },
19
+ {
20
+ key: 'stack',
21
+ label: 'Stacks AI',
22
+ icon: _jsx(Stack, {}),
23
+ panel: 'stack',
24
+ },
25
+ {
26
+ key: 'workspace',
27
+ label: 'Spots',
28
+ icon: _jsx(Spaces, {}),
29
+ panel: 'workspace',
30
+ },
31
+ ];
32
+ const listItems = useMemo(() => itemConfigs.filter(chatFeatures => features[chatFeatures.key])
33
+ .map(chatFeatures => ({
34
+ label: chatFeatures.label,
35
+ icon: chatFeatures.icon,
36
+ onClick: () => {
37
+ widget.set('panel', chatFeatures.panel);
38
+ setVisibleMenu(false);
39
+ },
40
+ })), [features, widget]);
41
+ if (!hasFeatureButtons)
42
+ return null;
10
43
  return (_jsxs(_Fragment, { children: [_jsx(IconButton, { color: "light", appearance: "square", role: "button", title: "title", "data-test-hint": "button-hint", "aria-label": "aria-label", onClick: () => setVisibleMenu(state => !state), children: _jsx(Clip, {}) }), _jsx(SelectionList, { style: {
11
44
  position: 'absolute',
12
- top: '-150px',
13
- }, id: "teste", visible: visibleMenu, onHide: () => setVisibleMenu(false), items: [
14
- { label: 'Knowledge Sources', icon: _jsx(KnowledgeSource, {}), onClick: () => widget.set('panel', 'ks') },
15
- { label: 'Stacks AI', icon: _jsx(Stack, {}), onClick: () => widget.set('panel', 'stack') },
16
- { label: 'Spots', icon: _jsx(Spaces, {}), onClick: () => widget.set('panel', 'workspace') },
17
- ] })] }));
45
+ top: '-140px',
46
+ }, id: "teste", visible: visibleMenu, onHide: () => setVisibleMenu(false), items: listItems })] }));
18
47
  };
19
48
  //# sourceMappingURL=SelectContent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectContent.js","sourceRoot":"","sources":["../../../src/views/MessageInput/SelectContent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAA;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAErD,OAAO,CACL,8BACE,KAAC,UAAU,IACT,KAAK,EAAC,OAAO,EACb,UAAU,EAAC,QAAQ,EACnB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,OAAO,oBACE,aAAa,gBACjB,YAAY,EACvB,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,YAC9C,KAAC,IAAI,KAAG,GACG,EACb,KAAC,aAAa,IACZ,KAAK,EAAE;oBACL,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,QAAQ;iBACd,EACD,EAAE,EAAC,OAAO,EACV,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,EACnC,KAAK,EACH;oBACE,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,KAAC,eAAe,KAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;oBACnG,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,KAAC,KAAK,KAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;oBACpF,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAC,MAAM,KAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE;iBACtF,GAEH,IACD,CACJ,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"SelectContent.js","sourceRoot":"","sources":["../../../src/views/MessageInput/SelectContent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAA;AAC3E,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAKpE,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAA;IAChD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,KAAK,CAAA;IAE1F,MAAM,WAAW,GAAG;QAClB;YACE,GAAG,EAAE,iBAAiB;YACtB,KAAK,EAAE,mBAAmB;YAC1B,IAAI,EAAE,KAAC,eAAe,KAAG;YACzB,KAAK,EAAE,IAAI;SACZ;QACD;YACE,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,KAAC,KAAK,KAAG;YACf,KAAK,EAAE,OAAO;SACf;QACD;YACE,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,KAAC,MAAM,KAAG;YAChB,KAAK,EAAE,WAAW;SACnB;KACF,CAAA;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAC7B,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAmB,CAAC,CAAC;SAC3E,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACpB,KAAK,EAAE,YAAY,CAAC,KAAK;QACzB,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,OAAO,EAAE,GAAG,EAAE;YACZ,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,KAAkB,CAAC,CAAA;YACpD,cAAc,CAAC,KAAK,CAAC,CAAA;QACvB,CAAC;KACF,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;IAE5B,IAAI,CAAC,iBAAiB;QAAE,OAAO,IAAI,CAAA;IAEnC,OAAO,CACL,8BACE,KAAC,UAAU,IACT,KAAK,EAAC,OAAO,EACb,UAAU,EAAC,QAAQ,EACnB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,OAAO,oBACE,aAAa,gBACjB,YAAY,EACvB,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,YAC9C,KAAC,IAAI,KAAG,GACG,EACb,KAAC,aAAa,IACZ,KAAK,EAAE;oBACL,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,QAAQ;iBACd,EACD,EAAE,EAAC,OAAO,EACV,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,EACnC,KAAK,EAAE,SAAS,GAChB,IACD,CACJ,CAAA;AACH,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../src/views/MessageInput/styled.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,gBAAgB,MAAM,CAAA;AACnC,eAAO,MAAM,gBAAgB,KAAK,CAAA;AAElC,eAAO,MAAM,mBAAmB;oBAA+B,OAAO;YAiCrE,CAAA;AAED,eAAO,MAAM,eAAe;oBAA+B,OAAO;YA8PjE,CAAA"}
1
+ {"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../src/views/MessageInput/styled.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,gBAAgB,MAAM,CAAA;AACnC,eAAO,MAAM,gBAAgB,KAAK,CAAA;AAElC,eAAO,MAAM,mBAAmB;oBAA+B,OAAO;YA0CrE,CAAA;AAED,eAAO,MAAM,eAAe;oBAA+B,OAAO;YAmPjE,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { IconButton } from '@citric/ui';
2
2
  import { theme } from '@stack-spot/portal-theme';
3
3
  import { styled } from 'styled-components';
4
- const INFO_BAR_HEIGHT = 42;
4
+ const INFO_BAR_HEIGHT = 38;
5
5
  const INFO_BAR_DISPLACEMENT = 4;
6
6
  export const MAX_INPUT_HEIGHT = 300;
7
7
  export const MIN_INPUT_HEIGHT = 24;
@@ -10,15 +10,24 @@ export const SelectionBarWrapper = styled.div `
10
10
  justify-content: space-between;
11
11
  position: relative;
12
12
  padding: 8px;
13
- padding-top: 6px;
14
13
  background-color: ${theme.color.light[500]};
15
14
  border-bottom-left-radius: 4px;
16
15
  border-bottom-right-radius: 4px;
17
16
  border: 2px solid ${({ $inputFocused }) => theme.color.light[$inputFocused ? 600 : 500]};
18
17
  border-top: none;
18
+
19
+ .selection-list {
20
+ opacity: 0;
21
+ transition: height 0.4s, opacity 0.3s;
22
+ }
23
+ .visible {
24
+ opacity: 1;
25
+ }
26
+
19
27
  .selection-list-content {
20
- background-color: ${theme.color.light[500]}
28
+ background-color: ${theme.color.light[500]};
21
29
  }
30
+
22
31
  ul {
23
32
  list-style: none;
24
33
  padding: 0;
@@ -42,11 +51,8 @@ export const SelectionBarWrapper = styled.div `
42
51
  export const MessageInputBox = styled.div `
43
52
  display: flex;
44
53
  flex-direction: column;
45
- margin-top: 8px;
46
54
 
47
55
  > .info-bar {
48
- padding-top: 8px;
49
- /* padding-bottom: -3px; */
50
56
  position: relative;
51
57
  overflow: hidden;
52
58
 
@@ -66,14 +72,12 @@ export const MessageInputBox = styled.div `
66
72
  top: 0;
67
73
  left: 0;
68
74
  right: 0;
69
- /* border-top-left-radius: 10px;
70
- border-top-right-radius: 10px; */
71
75
  height: ${INFO_BAR_HEIGHT}px;
72
- padding: 6px 8px 0;
76
+ padding-top: 8px;
73
77
  background-color: ${theme.color.light[500]};
74
78
  display: flex;
75
79
  flex-direction: row;
76
- gap: 6px;
80
+ gap: 4px;
77
81
  border-right: 2px solid ${({ $inputFocused }) => theme.color.light[$inputFocused ? 600 : 500]};
78
82
  border-left: 2px solid ${({ $inputFocused }) => theme.color.light[$inputFocused ? 600 : 500]};
79
83
 
@@ -159,18 +163,12 @@ export const MessageInputBox = styled.div `
159
163
  button {
160
164
  border: none;
161
165
  border-radius: 2px;
162
- opacity: 0.6;
166
+ /* opacity: 0.6; */
163
167
  transition: background-color 0.2s, opacity 0.2s;
164
- background-color: transparent;
168
+ /* background-color: transparent; */
165
169
  padding: 0;
166
170
 
167
- svg {
168
- fill: ${theme.color.light[700]};
169
- width: 16px;
170
- height: 16px;
171
- }
172
-
173
- &:hover {
171
+ /* &:hover {
174
172
  background-color: ${theme.color.light[500]};
175
173
  }
176
174
 
@@ -181,7 +179,7 @@ export const MessageInputBox = styled.div `
181
179
  }
182
180
  svg {
183
181
  fill: ${theme.color.inverse.contrastText};
184
- }
182
+ }
185
183
  }
186
184
 
187
185
  &.expand {
@@ -194,7 +192,7 @@ export const MessageInputBox = styled.div `
194
192
  svg {
195
193
  transform: rotate(180deg);
196
194
  }
197
- }
195
+ } */
198
196
 
199
197
  &.agent {
200
198
  border-radius: 50%;
@@ -1 +1 @@
1
- {"version":3,"file":"styled.js","sourceRoot":"","sources":["../../../src/views/MessageInput/styled.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,MAAM,eAAe,GAAG,EAAE,CAAA;AAC1B,MAAM,qBAAqB,GAAG,CAAC,CAAA;AAC/B,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAA;AACnC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAA;AAElC,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAA2B;;;;;;sBAMlD,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;sBAGtB,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;;;wBAGjE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;0BAepB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;0BAGtB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;CAG/C,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAA2B;;;;;;;;;;;;;kBAalD,eAAe,GAAG,qBAAqB;;;;;;;;;;;;;;;;gBAgBzC,eAAe;;0BAEL,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;gCAIhB,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;+BACpE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA4BxF,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA2BM,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;0BAEtB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;4BAKpB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;4BAKtB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;gBAuBlC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;4BAMV,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;4BAItB,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;;;;;kBAKlC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAuD5C,UAAU;;;;;;;;;;;;;;8BAcc,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;8BACtB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;gCAQpB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;oBAOlC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;cAoBpC,gBAAgB;;;;;;;;CAQ7B,CAAA"}
1
+ {"version":3,"file":"styled.js","sourceRoot":"","sources":["../../../src/views/MessageInput/styled.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,MAAM,eAAe,GAAG,EAAE,CAAA;AAC1B,MAAM,qBAAqB,GAAG,CAAC,CAAA;AAC/B,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAA;AACnC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAA;AAElC,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAA2B;;;;;sBAKlD,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;sBAGtB,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;;;;;;;;;;;;wBAYjE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;0BAgBpB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;0BAGtB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;CAG/C,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAA2B;;;;;;;;;;kBAUlD,eAAe,GAAG,qBAAqB;;;;;;;;;;;;;;gBAczC,eAAe;;0BAEL,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;gCAIhB,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;+BACpE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA4BxF,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA2BM,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;0BAEtB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;4BAKpB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;4BAKtB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;4BAuBtB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;4BAItB,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;;;;;kBAKlC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAuD5C,UAAU;;;;;;;;;;;;;;8BAcc,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;8BACtB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;gCAQpB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;oBAOlC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;cAoBpC,gBAAgB;;;;;;;;CAQ7B,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stack-spot/ai-chat-widget",
3
- "version": "1.20.2-beta.1",
3
+ "version": "1.20.2-beta.10",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stack-spot/ai-chat-widget",
3
- "version": "1.20.2-beta.1",
4
- "date": "Wed May 14 2025 17:13:09 GMT-0300 (Horário Padrão de Brasília)",
3
+ "version": "1.20.2-beta.10",
4
+ "date": "Mon May 19 2025 15:28:06 GMT-0300 (Horário Padrão de Brasília)",
5
5
  "dependencies": [
6
6
  {
7
7
  "name": "@stack-spot/app-metadata",
@@ -129,15 +129,15 @@ const Styled = styled.div<{ $bg: string[], $fg: string[], $shimmer: string[], $a
129
129
  &:before {
130
130
  content: '';
131
131
  display: block;
132
- width: 33%;
132
+ width: 100%;
133
133
  height: 100%;
134
134
  background: ${({ $fg, $animate, $bg }) => $animate ? gradientFromColorArray($fg) : $bg};
135
- animation: ${({ $animate }) => $animate ? 'slide 1.5s infinite forwards' : 'none'};
135
+ animation: ${({ $animate }) => $animate ? 'slide .5s infinite forwards' : 'none'};
136
136
  }
137
137
 
138
138
  @keyframes slide {
139
139
  from {
140
- margin-left: -33%;
140
+ margin-left: -100%;
141
141
  }
142
142
  to {
143
143
  margin-left: 100%;
package/src/layout.css CHANGED
@@ -31,7 +31,6 @@
31
31
  background-color: var(--light-400);
32
32
  border-radius: 4px;
33
33
  position: relative;
34
- overflow: hidden;
35
34
  width: 100%;
36
35
  height: 100%;
37
36
 
@@ -104,11 +103,13 @@
104
103
  }
105
104
 
106
105
  .chat-content {
106
+ padding-bottom: 16px;
107
107
  display: flex;
108
108
  flex-direction: column;
109
109
  flex: 1;
110
110
  flex-basis: 0;
111
111
  overflow: auto;
112
+ padding-right: 12px;
112
113
  }
113
114
 
114
115
  .chat-right-panel {
@@ -1,6 +1,6 @@
1
1
  import { Box, Button, Checkbox, Flex, IconBox, Input, Label, Radio, Text } from '@citric/core'
2
2
  import { Cog, Copy, Dislike, DislikeFill, Like, LikeFill, TimesCircle } from '@citric/icons'
3
- import { Avatar, Badge, IconButton } from '@citric/ui'
3
+ import { Badge, IconButton } from '@citric/ui'
4
4
  import { agentClient } from '@stack-spot/portal-network'
5
5
  import { listToClass } from '@stack-spot/portal-theme'
6
6
  import { Dictionary, useTranslate } from '@stack-spot/portal-translate'
@@ -37,7 +37,7 @@ interface Props extends CustomMessage {
37
37
  /**
38
38
  * The name of the user currently logged in (will be used if the agent type of the message is "user").
39
39
  */
40
- username: string,
40
+ username?: string,
41
41
  /**
42
42
  * Whether or not this is the last message in the chat. This is important for disabling action buttons in messages that are no longer
43
43
  * relevant.
@@ -169,14 +169,15 @@ const RenderInputsEntry = ({ isLast, entry, value, setValue, labels, setLabels }
169
169
  /**
170
170
  * Renders a message (ChatEntry) in the chat.
171
171
  */
172
- export const ChatMessage = ({ message, username, isLast, beforeMessage, afterMessage }: Props) => {
172
+ export const ChatMessage = ({ message, isLast, beforeMessage, afterMessage }: Props) => {
173
173
  const t = useTranslate(dictionary)
174
174
  const [liked, setLiked] = useState<boolean | undefined>()
175
175
  const [value, setValue] = useState<string[]>(message.getValue()?.initialValue ?? [])
176
176
  const [labels, setLabels] = useState<string[]>(message.getValue()?.initialValue ?? [])
177
177
  const entry = useChatEntry(message)
178
178
  const dateFormatter = useDateFormatter()
179
- const userInfo = entry.agentType === 'user' ? <Avatar size="xs">{username}</Avatar> : <AgentInfo agent={entry.agent} />
179
+ // const userInfo = entry.agentType === 'user' ? <Avatar size="xs">{username}</Avatar> : <AgentInfo agent={entry.agent} />
180
+ const userInfo = entry.agentType === 'user' ? <></> : <AgentInfo agent={entry.agent} />
180
181
  const date = new Date(entry.updated ?? '')
181
182
  const shouldShowFooter = entry.updated && !isNaN(date.getTime())
182
183
  const ref = useRef<HTMLLIElement>(null)
@@ -185,7 +186,8 @@ export const ChatMessage = ({ message, username, isLast, beforeMessage, afterMes
185
186
  const chat = useCurrentChat()
186
187
  const agentId = entry.agent?.id ?? ''
187
188
  const [agent] = agentClient.agentById.useStatefulQuery({ agentId, builtIn: !!entry?.agent?.builtIn }, { enabled: !!agentId })
188
-
189
+ const [copied, setCopied] = useState(false)
190
+
189
191
  useChatScrollToBottomEffect(ref, [entry])
190
192
 
191
193
  const detailKS = useCallback(({ name, slug, documentScore, documentId }: Required<TextChatEntry>['knowledgeSources'][number]) => {
@@ -250,6 +252,12 @@ export const ChatMessage = ({ message, username, isLast, beforeMessage, afterMes
250
252
  )}
251
253
  </>, [entry, isLast, runAction])
252
254
 
255
+ const handleCopy = () => {
256
+ onCopyAll(entry, chat)
257
+ setCopied(true)
258
+ setTimeout(() => setCopied(false), 1000)
259
+ }
260
+
253
261
  const renderContent = () => {
254
262
  if (entry.type === 'md') {
255
263
  return <>
@@ -257,13 +265,7 @@ export const ChatMessage = ({ message, username, isLast, beforeMessage, afterMes
257
265
  {renderActions()}
258
266
  </>
259
267
  }
260
- if (entry.type === 'text') {
261
- return <>
262
- <p className="plain-text">{entry.content}</p>
263
- {renderActions()}
264
- </>
265
- }
266
-
268
+
267
269
  return <form>
268
270
  <RenderInputsEntry entry={entry} isLast={isLast} value={value} setValue={setValue} setLabels={setLabels} labels={labels} />
269
271
  <Box mt="4">
@@ -322,22 +324,47 @@ export const ChatMessage = ({ message, username, isLast, beforeMessage, afterMes
322
324
  {shouldShowFooter && <div className="message-footer">
323
325
  {entry.agentType === 'bot' && !entry.error && <div className="message-actions">
324
326
  {entry.type === 'md' && (
325
- <IconButton title={t.copy} aria-label={t.copy} onClick={() => onCopyAll(entry, chat)}>
327
+ <IconButton appearance="square" color="light" title={t.copy} aria-label={t.copy} onClick={handleCopy}>
326
328
  <Copy />
329
+ {copied && (
330
+ <div style={{ fontSize: 12, marginLeft: 4 }}>
331
+ <Text appearance="microtext1" colorScheme="light.700">{t.copied}</Text>
332
+ </div>
333
+ )}
327
334
  </IconButton>
328
335
  )}
329
336
  {entry.messageId && (
330
337
  <>
331
- <IconButton title={t.like} aria-label={t.like} onClick={like}>
338
+ <IconButton appearance="square" color="light" title={t.like} aria-label={t.like} onClick={like}>
332
339
  {liked === true ? <LikeFill /> : <Like />}
333
340
  </IconButton>
334
- <IconButton title={t.dislike} aria-label={t.dislike} onClick={dislike}>
341
+ <IconButton appearance="square" color="light" title={t.dislike} aria-label={t.dislike} onClick={dislike}>
335
342
  {liked === false ? <DislikeFill /> : <Dislike />}
336
343
  </IconButton>
337
344
  </>
338
345
  )}
339
346
  </div>}
340
- <Text appearance="microtext1" className="chat-date">
347
+
348
+ {entry.agentType === 'user' && (
349
+ <div className="message-actions">
350
+ <IconButton
351
+ appearance="square"
352
+ color="light"
353
+ title={t.copy}
354
+ aria-label={t.copy}
355
+ onClick={handleCopy}
356
+ size="sm"
357
+ >
358
+ <Copy />
359
+ {copied && (
360
+ <div style={{ fontSize: 12, marginLeft: 4 }}>
361
+ <Text appearance="microtext1" colorScheme="light.700">{t.copied}</Text>
362
+ </div>
363
+ )}
364
+ </IconButton>
365
+ </div>
366
+ )}
367
+ <Text as="label" appearance="microtext1" className="chat-date">
341
368
  {dateFormatter.formatForChatMessage(date)}
342
369
  </Text>
343
370
  </div>}
@@ -352,6 +379,7 @@ const dictionary = {
352
379
  dislike: 'Dislike',
353
380
  tools: 'Tools',
354
381
  openToolsPanel: 'Open the tools panel to see more details.',
382
+ copied: 'Copied',
355
383
  },
356
384
  pt: {
357
385
  copy: 'Copiar',
@@ -359,5 +387,6 @@ const dictionary = {
359
387
  dislike: 'Não gostei',
360
388
  tools: 'Ferramentas',
361
389
  openToolsPanel: 'Abrir o painel de ferramentas para ver mais detalhes.',
390
+ copied: 'Copiado',
362
391
  },
363
392
  } satisfies Dictionary
@@ -11,7 +11,8 @@ export const ChatList: IStyledComponentBase<
11
11
  flex-direction: column;
12
12
  justify-content: end;
13
13
  gap: 20px;
14
- margin: 0 5px;
14
+ /* margin: 0 5px; */
15
+ margin: 0;
15
16
  padding: 0;
16
17
  flex: 1;
17
18
 
@@ -61,14 +62,18 @@ export const ChatList: IStyledComponentBase<
61
62
  .message-footer {
62
63
  display: flex;
63
64
  flex-direction: row;
65
+ align-items: center;
66
+ gap: 8px;
64
67
 
65
68
  .message-actions {
66
69
  display: flex;
67
70
  flex-direction: row;
68
- gap: 8px;
71
+ gap: 4px;
69
72
  }
70
73
 
71
74
  .chat-date {
75
+ display: inline-block;
76
+ align-content: flex-end;
72
77
  opacity: 0.6;
73
78
  margin-left: auto;
74
79
  }
@@ -145,9 +150,10 @@ export const ChatList: IStyledComponentBase<
145
150
  gap: 8px;
146
151
 
147
152
  .message-content {
148
- padding: 10px;
153
+ padding: 16px;
154
+ border-radius: 24px;
155
+ border-top-right-radius: 0;
149
156
  background-color: ${theme.color.light[500]};
150
- border-radius: 4px;
151
157
 
152
158
  .markdown > p:first-child {
153
159
  margin-top: 0;
@@ -28,8 +28,8 @@ export const ButtonBar = ({ onSend, isLoading, focused }: SelectionBarProps) =>
28
28
  const features = useCurrentChatState('features')
29
29
 
30
30
  return (
31
- <SelectionBarWrapper $inputFocused={focused}>
32
- <Flex>
31
+ <SelectionBarWrapper className="button-group" $inputFocused={focused}>
32
+ <Flex sx={{ gap: '4px' }}>
33
33
  <SelectContent />
34
34
  {features.editor && (
35
35
  <IconButton color="light" appearance="square" aria-label={t.code} title={t.code} onClick={() => widget.set('panel', 'editor')}>
@@ -1,13 +1,52 @@
1
1
  import { Clip, KnowledgeSource, Spaces, Stack } from '@citric/icons'
2
2
  import { IconButton } from '@citric/ui'
3
3
  import { SelectionList } from '@stack-spot/portal-components/SelectionList'
4
- import { useState } from 'react'
5
- import { useWidget } from '../../context/hooks'
4
+ import { useMemo, useState } from 'react'
5
+ import { useCurrentChatState, useWidget } from '../../context/hooks'
6
+
7
+ type chatFeatures = 'workspace' | 'knowledgeSource' | 'stack'
8
+ type chatPanel = 'ks' | 'workspace' | 'stack'
6
9
 
7
10
  export const SelectContent = () => {
8
11
  const widget = useWidget()
9
12
  const [visibleMenu, setVisibleMenu] = useState(false)
10
-
13
+ const features = useCurrentChatState('features')
14
+ const hasFeatureButtons = features.workspace || features.knowledgeSource || features.stack
15
+
16
+ const itemConfigs = [
17
+ {
18
+ key: 'knowledgeSource',
19
+ label: 'Knowledge Sources',
20
+ icon: <KnowledgeSource />,
21
+ panel: 'ks',
22
+ },
23
+ {
24
+ key: 'stack',
25
+ label: 'Stacks AI',
26
+ icon: <Stack />,
27
+ panel: 'stack',
28
+ },
29
+ {
30
+ key: 'workspace',
31
+ label: 'Spots',
32
+ icon: <Spaces />,
33
+ panel: 'workspace',
34
+ },
35
+ ]
36
+
37
+ const listItems = useMemo(() =>
38
+ itemConfigs.filter(chatFeatures => features[chatFeatures.key as chatFeatures])
39
+ .map(chatFeatures => ({
40
+ label: chatFeatures.label,
41
+ icon: chatFeatures.icon,
42
+ onClick: () => {
43
+ widget.set('panel', chatFeatures.panel as chatPanel)
44
+ setVisibleMenu(false)
45
+ },
46
+ })), [features, widget])
47
+
48
+ if (!hasFeatureButtons) return null
49
+
11
50
  return (
12
51
  <>
13
52
  <IconButton
@@ -17,24 +56,18 @@ export const SelectContent = () => {
17
56
  title="title"
18
57
  data-test-hint="button-hint"
19
58
  aria-label="aria-label"
20
- onClick={() => setVisibleMenu(state => !state)} >
59
+ onClick={() => setVisibleMenu(state => !state)}>
21
60
  <Clip />
22
61
  </IconButton>
23
62
  <SelectionList
24
63
  style={{
25
64
  position: 'absolute',
26
- top: '-150px',
65
+ top: '-140px',
27
66
  }}
28
67
  id="teste"
29
68
  visible={visibleMenu}
30
69
  onHide={() => setVisibleMenu(false)}
31
- items={
32
- [
33
- { label: 'Knowledge Sources', icon: <KnowledgeSource />, onClick: () => widget.set('panel', 'ks') },
34
- { label: 'Stacks AI', icon: <Stack />, onClick: () => widget.set('panel', 'stack') },
35
- { label: 'Spots', icon: <Spaces />, onClick: () => widget.set('panel', 'workspace') },
36
- ]
37
- }
70
+ items={listItems}
38
71
  />
39
72
  </>
40
73
  )
@@ -2,7 +2,7 @@ import { IconButton } from '@citric/ui'
2
2
  import { theme } from '@stack-spot/portal-theme'
3
3
  import { styled } from 'styled-components'
4
4
 
5
- const INFO_BAR_HEIGHT = 42
5
+ const INFO_BAR_HEIGHT = 38
6
6
  const INFO_BAR_DISPLACEMENT = 4
7
7
  export const MAX_INPUT_HEIGHT = 300
8
8
  export const MIN_INPUT_HEIGHT = 24
@@ -12,15 +12,24 @@ export const SelectionBarWrapper = styled.div<{$inputFocused?: boolean}>`
12
12
  justify-content: space-between;
13
13
  position: relative;
14
14
  padding: 8px;
15
- padding-top: 6px;
16
15
  background-color: ${theme.color.light[500]};
17
16
  border-bottom-left-radius: 4px;
18
17
  border-bottom-right-radius: 4px;
19
18
  border: 2px solid ${({ $inputFocused }) => theme.color.light[$inputFocused ? 600 : 500]};
20
19
  border-top: none;
20
+
21
+ .selection-list {
22
+ opacity: 0;
23
+ transition: height 0.4s, opacity 0.3s;
24
+ }
25
+ .visible {
26
+ opacity: 1;
27
+ }
28
+
21
29
  .selection-list-content {
22
- background-color: ${theme.color.light[500]}
30
+ background-color: ${theme.color.light[500]};
23
31
  }
32
+
24
33
  ul {
25
34
  list-style: none;
26
35
  padding: 0;
@@ -45,11 +54,8 @@ export const SelectionBarWrapper = styled.div<{$inputFocused?: boolean}>`
45
54
  export const MessageInputBox = styled.div<{$inputFocused?: boolean}>`
46
55
  display: flex;
47
56
  flex-direction: column;
48
- margin-top: 8px;
49
57
 
50
58
  > .info-bar {
51
- padding-top: 8px;
52
- /* padding-bottom: -3px; */
53
59
  position: relative;
54
60
  overflow: hidden;
55
61
 
@@ -69,14 +75,12 @@ export const MessageInputBox = styled.div<{$inputFocused?: boolean}>`
69
75
  top: 0;
70
76
  left: 0;
71
77
  right: 0;
72
- /* border-top-left-radius: 10px;
73
- border-top-right-radius: 10px; */
74
78
  height: ${INFO_BAR_HEIGHT}px;
75
- padding: 6px 8px 0;
79
+ padding-top: 8px;
76
80
  background-color: ${theme.color.light[500]};
77
81
  display: flex;
78
82
  flex-direction: row;
79
- gap: 6px;
83
+ gap: 4px;
80
84
  border-right: 2px solid ${({ $inputFocused }) => theme.color.light[$inputFocused ? 600 : 500]};
81
85
  border-left: 2px solid ${({ $inputFocused }) => theme.color.light[$inputFocused ? 600 : 500]};
82
86
 
@@ -162,18 +166,12 @@ export const MessageInputBox = styled.div<{$inputFocused?: boolean}>`
162
166
  button {
163
167
  border: none;
164
168
  border-radius: 2px;
165
- opacity: 0.6;
169
+ /* opacity: 0.6; */
166
170
  transition: background-color 0.2s, opacity 0.2s;
167
- background-color: transparent;
171
+ /* background-color: transparent; */
168
172
  padding: 0;
169
173
 
170
- svg {
171
- fill: ${theme.color.light[700]};
172
- width: 16px;
173
- height: 16px;
174
- }
175
-
176
- &:hover {
174
+ /* &:hover {
177
175
  background-color: ${theme.color.light[500]};
178
176
  }
179
177
 
@@ -184,7 +182,7 @@ export const MessageInputBox = styled.div<{$inputFocused?: boolean}>`
184
182
  }
185
183
  svg {
186
184
  fill: ${theme.color.inverse.contrastText};
187
- }
185
+ }
188
186
  }
189
187
 
190
188
  &.expand {
@@ -197,7 +195,7 @@ export const MessageInputBox = styled.div<{$inputFocused?: boolean}>`
197
195
  svg {
198
196
  transform: rotate(180deg);
199
197
  }
200
- }
198
+ } */
201
199
 
202
200
  &.agent {
203
201
  border-radius: 50%;