@stack-spot/ai-chat-widget 1.6.0 → 1.7.0-beta.0
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/app-metadata.json +7 -7
- package/dist/components/Selector/index.d.ts +20 -0
- package/dist/components/Selector/index.d.ts.map +1 -0
- package/dist/components/Selector/index.js +134 -0
- package/dist/components/Selector/index.js.map +1 -0
- package/dist/components/Selector/styled.d.ts +2 -0
- package/dist/components/Selector/styled.d.ts.map +1 -0
- package/dist/components/Selector/styled.js +144 -0
- package/dist/components/Selector/styled.js.map +1 -0
- package/dist/regex.d.ts +1 -0
- package/dist/regex.d.ts.map +1 -1
- package/dist/regex.js +1 -0
- package/dist/regex.js.map +1 -1
- package/dist/views/Agents/AgentsTab.js +4 -4
- package/dist/views/Agents/AgentsTab.js.map +1 -1
- package/dist/views/Chat/AgentInfo.js +1 -1
- package/dist/views/Home/CustomAgent.js +3 -3
- package/dist/views/Home/CustomAgent.js.map +1 -1
- package/dist/views/Home/styled.js +1 -1
- package/dist/views/MessageInput/AgentSelector.d.ts +4 -0
- package/dist/views/MessageInput/AgentSelector.d.ts.map +1 -0
- package/dist/views/MessageInput/AgentSelector.js +31 -0
- package/dist/views/MessageInput/AgentSelector.js.map +1 -0
- package/dist/views/MessageInput/ButtonAgent.d.ts +2 -0
- package/dist/views/MessageInput/ButtonAgent.d.ts.map +1 -0
- package/dist/views/MessageInput/ButtonAgent.js +17 -0
- package/dist/views/MessageInput/ButtonAgent.js.map +1 -0
- package/dist/views/MessageInput/ButtonGroup.d.ts +1 -1
- package/dist/views/MessageInput/ButtonGroup.d.ts.map +1 -1
- package/dist/views/MessageInput/ButtonGroup.js +4 -6
- package/dist/views/MessageInput/ButtonGroup.js.map +1 -1
- package/dist/views/MessageInput/QuickCommandSelector.d.ts +2 -11
- package/dist/views/MessageInput/QuickCommandSelector.d.ts.map +1 -1
- package/dist/views/MessageInput/QuickCommandSelector.js +17 -130
- package/dist/views/MessageInput/QuickCommandSelector.js.map +1 -1
- package/dist/views/MessageInput/dictionary.d.ts +1 -1
- package/dist/views/MessageInput/dictionary.d.ts.map +1 -1
- package/dist/views/MessageInput/dictionary.js +4 -2
- package/dist/views/MessageInput/dictionary.js.map +1 -1
- package/dist/views/MessageInput/index.d.ts.map +1 -1
- package/dist/views/MessageInput/index.js +4 -1
- package/dist/views/MessageInput/index.js.map +1 -1
- package/dist/views/MessageInput/styled.d.ts.map +1 -1
- package/dist/views/MessageInput/styled.js +51 -144
- package/dist/views/MessageInput/styled.js.map +1 -1
- package/package.json +1 -1
- package/src/app-metadata.json +7 -7
- package/src/components/Selector/index.tsx +245 -0
- package/src/components/Selector/styled.ts +145 -0
- package/src/regex.ts +1 -0
- package/src/views/Agents/AgentsTab.tsx +4 -4
- package/src/views/Chat/AgentInfo.tsx +1 -1
- package/src/views/Home/CustomAgent.tsx +3 -3
- package/src/views/Home/styled.ts +1 -1
- package/src/views/MessageInput/AgentSelector.tsx +35 -0
- package/src/views/MessageInput/ButtonAgent.tsx +36 -0
- package/src/views/MessageInput/ButtonGroup.tsx +3 -10
- package/src/views/MessageInput/QuickCommandSelector.tsx +21 -205
- package/src/views/MessageInput/dictionary.ts +4 -2
- package/src/views/MessageInput/index.tsx +8 -3
- package/src/views/MessageInput/styled.ts +51 -144
package/dist/app-metadata.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stack-spot/ai-chat-widget",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"date": "Tue Jan
|
|
3
|
+
"version": "1.7.0-beta.0",
|
|
4
|
+
"date": "Tue Jan 21 2025 08:16:05 GMT-0300 (Brasilia Standard Time)",
|
|
5
5
|
"dependencies": [
|
|
6
6
|
{
|
|
7
7
|
"name": "@stack-spot/app-metadata",
|
|
@@ -89,15 +89,15 @@
|
|
|
89
89
|
},
|
|
90
90
|
{
|
|
91
91
|
"name": "@citric/core",
|
|
92
|
-
"version": "6.
|
|
92
|
+
"version": "6.4.0(lodash@4.17.21)(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0))"
|
|
93
93
|
},
|
|
94
94
|
{
|
|
95
95
|
"name": "@citric/icons",
|
|
96
|
-
"version": "5.
|
|
96
|
+
"version": "5.9.0(react@18.2.0)"
|
|
97
97
|
},
|
|
98
98
|
{
|
|
99
99
|
"name": "@citric/ui",
|
|
100
|
-
"version": "6.
|
|
100
|
+
"version": "6.5.5(@citric/core@6.4.0(lodash@4.17.21)(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)))(@citric/icons@5.9.0(react@18.2.0))(lodash@4.17.21)(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0))"
|
|
101
101
|
},
|
|
102
102
|
{
|
|
103
103
|
"name": "@monaco-editor/react",
|
|
@@ -105,7 +105,7 @@
|
|
|
105
105
|
},
|
|
106
106
|
{
|
|
107
107
|
"name": "@stack-spot/portal-components",
|
|
108
|
-
"version": "2.8.1(@citric/core@6.
|
|
108
|
+
"version": "2.8.1(@citric/core@6.4.0(lodash@4.17.21)(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)))(@citric/icons@5.9.0(react@18.2.0))(@citric/ui@6.5.5(@citric/core@6.4.0(lodash@4.17.21)(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)))(@citric/icons@5.9.0(react@18.2.0))(lodash@4.17.21)(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)))(@stack-spot/portal-theme@1.1.0(@citric/core@6.4.0(lodash@4.17.21)(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)))(@stack-spot/portal-translate@1.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/react@18.3.11)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)"
|
|
109
109
|
},
|
|
110
110
|
{
|
|
111
111
|
"name": "@stack-spot/portal-network",
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
},
|
|
114
114
|
{
|
|
115
115
|
"name": "@stack-spot/portal-theme",
|
|
116
|
-
"version": "1.1.0(@citric/core@6.
|
|
116
|
+
"version": "1.1.0(@citric/core@6.4.0(lodash@4.17.21)(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0))"
|
|
117
117
|
},
|
|
118
118
|
{
|
|
119
119
|
"name": "@stack-spot/portal-translate",
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
type SelectorShortcut = '/' | '@';
|
|
3
|
+
interface SelectorConfig<T> {
|
|
4
|
+
resourceName: string;
|
|
5
|
+
shortcut: SelectorShortcut;
|
|
6
|
+
icon: React.ReactElement;
|
|
7
|
+
regex: RegExp;
|
|
8
|
+
url: string;
|
|
9
|
+
imageProp?: keyof T;
|
|
10
|
+
data: () => T[];
|
|
11
|
+
isEnabled: boolean;
|
|
12
|
+
onSelect: (item: T) => void;
|
|
13
|
+
}
|
|
14
|
+
interface SelectorProps<T> {
|
|
15
|
+
selectorConfig: SelectorConfig<T>;
|
|
16
|
+
inputRef: React.RefObject<HTMLTextAreaElement | HTMLInputElement>;
|
|
17
|
+
}
|
|
18
|
+
export declare const Selector: <T>({ inputRef, selectorConfig }: SelectorProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Selector/index.tsx"],"names":[],"mappings":"AAMA,OAAO,KAA4D,MAAM,OAAO,CAAA;AAShF,KAAK,gBAAgB,GAAG,GAAG,GAAG,GAAG,CAAA;AA2BjC,UAAU,cAAc,CAAC,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;CAC7B;AAED,UAAU,aAAa,CAAC,CAAC;IACvB,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,CAAC;CACnE;AAmGD,eAAO,MAAM,QAAQ,GAAI,CAAC,gCAAkC,aAAa,CAAC,CAAC,CAAC,4CA+D3E,CAAA"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { IconBox, Image, Text } from '@citric/core';
|
|
3
|
+
import { Agent, ExternalLink } from '@citric/icons';
|
|
4
|
+
import { IconButton } from '@citric/ui';
|
|
5
|
+
import { useKeyboardControls } from '@stack-spot/portal-components';
|
|
6
|
+
import { useTranslate } from '@stack-spot/portal-translate';
|
|
7
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
8
|
+
import { useCurrentChatState } from '../../context/hooks.js';
|
|
9
|
+
import { getUrlToStackSpotAI } from '../../utils/url.js';
|
|
10
|
+
import { Fading } from '../Fading.js';
|
|
11
|
+
import { FallbackBoundary } from '../FallbackBoundary/index.js';
|
|
12
|
+
import { SelectorBox } from './styled.js';
|
|
13
|
+
const sections = [undefined, 'personal', 'workspace', 'account', 'shared'];
|
|
14
|
+
const ListItem = ({ item, selectorConfig, onSelect }) => {
|
|
15
|
+
const t = useTranslate(dictionary);
|
|
16
|
+
const { shortcut, url } = selectorConfig;
|
|
17
|
+
const hasImage = !!selectorConfig.imageProp;
|
|
18
|
+
const image = item[selectorConfig.imageProp];
|
|
19
|
+
const linkTitle = t.open.replace('%s', item.slug);
|
|
20
|
+
return (_jsxs("li", { children: [!!hasImage && image ? _jsx(Image, { width: "32", height: "32", radius: "full", src: image }) : _jsx(IconBox, { size: "md", children: _jsx(Agent, {}) }), _jsxs("button", { className: "selector", onClick: () => onSelect(item), onKeyDown: (e) => e.key === 'Enter' && e.preventDefault(), onFocus: (e) => e.target.closest('li')?.classList.add('focus'), onBlur: (e) => e.target.closest('li')?.classList.remove('focus'), children: [_jsxs("p", { className: "selector-title", children: [!hasImage ? shortcut : '', item.slug] }), _jsx("p", { className: "selector-description", children: item.description })] }), _jsx(IconButton, { as: "a", title: linkTitle, "aria-label": linkTitle, href: `${getUrlToStackSpotAI()}${url}${item.slug}`, target: "_blank", children: _jsx(ExternalLink, {}) })] }));
|
|
21
|
+
};
|
|
22
|
+
const List = ({ selectorConfig, filter, visibility, onSelect }) => {
|
|
23
|
+
const t = useTranslate(dictionary);
|
|
24
|
+
const items = selectorConfig.data();
|
|
25
|
+
const filtered = useMemo(() => {
|
|
26
|
+
if (!filter && !visibility)
|
|
27
|
+
return items;
|
|
28
|
+
const lowerFilter = filter?.toLowerCase() ?? '';
|
|
29
|
+
return items.filter(item => item.slug.toLocaleLowerCase().startsWith(lowerFilter) && (!visibility || item?.visibility_level?.toLowerCase() === visibility));
|
|
30
|
+
}, [filter, items, visibility]);
|
|
31
|
+
if (!items.length)
|
|
32
|
+
return _jsx(Text, { className: "empty", colorScheme: "light.700", children: t.noData.replace('%', selectorConfig.resourceName) });
|
|
33
|
+
if (!filtered.length)
|
|
34
|
+
_jsx(Text, { className: "empty", colorScheme: "light.700", children: t.noResults.replace('%', selectorConfig.resourceName) });
|
|
35
|
+
return (_jsx("ul", { className: "selector-list", children: filtered.map((item) => (_jsx(ListItem, { item: item, selectorConfig: selectorConfig, onSelect: onSelect }, item.id))) }));
|
|
36
|
+
};
|
|
37
|
+
const SelectorContent = ({ filter, onClose, selectorConfig }) => {
|
|
38
|
+
const t = useTranslate(dictionary);
|
|
39
|
+
const ref = useRef(null);
|
|
40
|
+
const [visibility, setVisibility] = useState();
|
|
41
|
+
const { resourceName, icon, onSelect } = selectorConfig;
|
|
42
|
+
const onSelectItem = useCallback((slug) => {
|
|
43
|
+
onSelect(slug);
|
|
44
|
+
onClose();
|
|
45
|
+
}, []);
|
|
46
|
+
useKeyboardControls({
|
|
47
|
+
querySelectors: '.tabs button, button.selector',
|
|
48
|
+
disableTabBehavior: true,
|
|
49
|
+
onPressEscape: onClose,
|
|
50
|
+
onPressArrowLeft: () => ref.current?.querySelector('.tabs button.active')?.focus(),
|
|
51
|
+
onPressArrowRight: () => ref.current?.querySelector('button.selector')?.focus(),
|
|
52
|
+
ref,
|
|
53
|
+
}, []);
|
|
54
|
+
function createSectionItem(action) {
|
|
55
|
+
return (_jsx("li", { children: _jsx("button", { className: visibility === action ? 'active' : '', onFocus: () => setVisibility(action), children: t[action || 'all'] }) }, action ?? 'all'));
|
|
56
|
+
}
|
|
57
|
+
return (_jsxs("div", { ref: ref, children: [_jsxs("header", { children: [_jsx(IconBox, { children: icon }), _jsxs(Text, { as: "h3", className: "uppercase", children: [" ", resourceName, " "] })] }), _jsxs("div", { className: "body", children: [_jsx("ul", { className: "tabs", children: sections.map(createSectionItem) }), _jsx(FallbackBoundary, { message: t.error.replace('%s', selectorConfig.resourceName), mini: true, children: _jsx(List, { filter: filter, visibility: visibility, selectorConfig: selectorConfig, onSelect: onSelectItem }) })] })] }));
|
|
58
|
+
};
|
|
59
|
+
export const Selector = ({ inputRef, selectorConfig }) => {
|
|
60
|
+
const { shortcut, regex, isEnabled } = selectorConfig;
|
|
61
|
+
const [isClosed, setClosed] = useState(false);
|
|
62
|
+
const selectorRef = useRef(null);
|
|
63
|
+
const value = useCurrentChatState('nextMessage') ?? '';
|
|
64
|
+
const filter = useMemo(() => value === shortcut || regex.test(value) ? value.substring(1) : undefined, [value]);
|
|
65
|
+
const shouldRender = isEnabled && filter !== undefined && !isClosed;
|
|
66
|
+
// Resets the closed state whenever the message input is cleared
|
|
67
|
+
useEffect(() => {
|
|
68
|
+
if (!value)
|
|
69
|
+
setClosed(false);
|
|
70
|
+
}, [value]);
|
|
71
|
+
// Creates the following behavior while the user types in the message input:
|
|
72
|
+
// auto-complete on tab; move focus to the resource panel on press up or down; and close the resource panel on esc.
|
|
73
|
+
useEffect(() => {
|
|
74
|
+
function getFirst() {
|
|
75
|
+
return selectorRef.current?.querySelector('.selector');
|
|
76
|
+
}
|
|
77
|
+
function onKeyDown(event) {
|
|
78
|
+
const key = event.key;
|
|
79
|
+
if (!selectorRef.current)
|
|
80
|
+
return;
|
|
81
|
+
if (key === 'Tab') {
|
|
82
|
+
getFirst()?.click();
|
|
83
|
+
event.preventDefault();
|
|
84
|
+
}
|
|
85
|
+
else if (key === 'ArrowDown' || key === 'ArrowUp') {
|
|
86
|
+
getFirst()?.focus();
|
|
87
|
+
event.preventDefault();
|
|
88
|
+
}
|
|
89
|
+
if (key === 'Escape') {
|
|
90
|
+
setClosed(true);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
inputRef.current?.addEventListener('keydown', onKeyDown);
|
|
94
|
+
return () => inputRef.current?.removeEventListener('keydown', onKeyDown);
|
|
95
|
+
}, []);
|
|
96
|
+
// Closes the panel when the user clicks outside the panel or the message input.
|
|
97
|
+
useEffect(() => {
|
|
98
|
+
if (!shouldRender)
|
|
99
|
+
return;
|
|
100
|
+
function onClickOut(e) {
|
|
101
|
+
const target = e.target;
|
|
102
|
+
if (!selectorRef.current?.contains(target) && !inputRef.current?.contains(target))
|
|
103
|
+
setClosed(true);
|
|
104
|
+
}
|
|
105
|
+
document.addEventListener('click', onClickOut);
|
|
106
|
+
return () => document.removeEventListener('click', onClickOut);
|
|
107
|
+
}, [shouldRender]);
|
|
108
|
+
return (_jsx(SelectorBox, { children: _jsx(Fading, { visible: shouldRender, ref: selectorRef, className: "box-selector", children: _jsx(SelectorContent, { selectorConfig: selectorConfig, filter: filter, onClose: () => setClosed(true), inputRef: inputRef }) }) }));
|
|
109
|
+
};
|
|
110
|
+
const dictionary = {
|
|
111
|
+
en: {
|
|
112
|
+
all: 'All',
|
|
113
|
+
personal: 'Personal',
|
|
114
|
+
account: 'Account',
|
|
115
|
+
shared: 'Shared',
|
|
116
|
+
workspace: 'Workspace',
|
|
117
|
+
error: 'Could not load the %ss.',
|
|
118
|
+
noData: 'You don\'t have any %s yet.',
|
|
119
|
+
noResults: 'There are no %ss to show here.',
|
|
120
|
+
open: 'Open this %s settings in a new tab.',
|
|
121
|
+
},
|
|
122
|
+
pt: {
|
|
123
|
+
all: 'Todos',
|
|
124
|
+
personal: 'Pessoal',
|
|
125
|
+
account: 'Conta',
|
|
126
|
+
shared: 'Compartilhado',
|
|
127
|
+
workspace: 'Workspace',
|
|
128
|
+
error: 'Não foi possível carregar os %ss.',
|
|
129
|
+
noData: 'Você ainda não possui %ss.',
|
|
130
|
+
noResults: 'Não há %ss para mostrar aqui.',
|
|
131
|
+
open: 'Abra as configurações deste %s em uma nova aba.',
|
|
132
|
+
},
|
|
133
|
+
};
|
|
134
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Selector/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const SelectorBox: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
2
|
+
//# sourceMappingURL=styled.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../src/components/Selector/styled.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW,wOA4IvB,CAAA"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { theme } from '@stack-spot/portal-theme';
|
|
2
|
+
import { styled } from 'styled-components';
|
|
3
|
+
export const SelectorBox = styled.div `
|
|
4
|
+
.box-selector {
|
|
5
|
+
position: absolute;
|
|
6
|
+
border-radius: 4px;
|
|
7
|
+
border: 1px solid ${theme.color.light[600]};
|
|
8
|
+
background-color: ${theme.color.light[400]};
|
|
9
|
+
box-shadow: 0px 2px 16px 0px #0000005C;
|
|
10
|
+
display: flex;
|
|
11
|
+
flex-direction: column;
|
|
12
|
+
width: 480px;
|
|
13
|
+
bottom: 74px;
|
|
14
|
+
|
|
15
|
+
.loading, .error {
|
|
16
|
+
padding-bottom: 26px;
|
|
17
|
+
p {
|
|
18
|
+
width: 200px;
|
|
19
|
+
text-align: center;
|
|
20
|
+
line-height: 20px;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.empty {
|
|
25
|
+
padding-bottom: 26px;
|
|
26
|
+
width: 200px;
|
|
27
|
+
text-align: center;
|
|
28
|
+
line-height: 20px;
|
|
29
|
+
margin: auto;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
header {
|
|
33
|
+
display: flex;
|
|
34
|
+
flex-direction: row;
|
|
35
|
+
gap: 8px;
|
|
36
|
+
align-items: center;
|
|
37
|
+
padding: 8px;
|
|
38
|
+
margin-bottom: 4px;
|
|
39
|
+
font-family: 'San Francisco';
|
|
40
|
+
text-transform: uppercase;
|
|
41
|
+
font-weight: 500;
|
|
42
|
+
font-size: 11px;
|
|
43
|
+
background-color: ${theme.color.light[500]};
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.body {
|
|
47
|
+
display: flex;
|
|
48
|
+
flex-direction: row;
|
|
49
|
+
align-items: center;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
ul {
|
|
53
|
+
margin: 0;
|
|
54
|
+
padding: 0;
|
|
55
|
+
list-style: none;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
ul.tabs {
|
|
59
|
+
display: flex;
|
|
60
|
+
flex-direction: column;
|
|
61
|
+
|
|
62
|
+
li {
|
|
63
|
+
display: flex;
|
|
64
|
+
flex-direction: column;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
button {
|
|
68
|
+
box-sizing: border-box;
|
|
69
|
+
color: ${theme.color.light[700]};
|
|
70
|
+
text-align: left;
|
|
71
|
+
padding: 10px;
|
|
72
|
+
font-weight: 600;
|
|
73
|
+
font-size: 12px;
|
|
74
|
+
transition: background-color 0.3s;
|
|
75
|
+
border-left: 1px solid transparent;
|
|
76
|
+
border-top-right-radius: 4px;
|
|
77
|
+
border-bottom-right-radius: 4px;
|
|
78
|
+
background-color: transparent;
|
|
79
|
+
border: none;
|
|
80
|
+
cursor: pointer;
|
|
81
|
+
outline: none;
|
|
82
|
+
|
|
83
|
+
&:hover, &.active, &:focus {
|
|
84
|
+
background-color: ${theme.color.light[600]};
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
&.active {
|
|
88
|
+
border-left: 1px solid ${theme.color.light.contrastText};
|
|
89
|
+
color: ${theme.color.light.contrastText};
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
ul.selector-list {
|
|
95
|
+
align-self: stretch;
|
|
96
|
+
display: flex;
|
|
97
|
+
flex-direction: column;
|
|
98
|
+
gap: 2px;
|
|
99
|
+
overflow-y: auto;
|
|
100
|
+
flex: 1;
|
|
101
|
+
max-height: 170px;
|
|
102
|
+
|
|
103
|
+
li {
|
|
104
|
+
display: flex;
|
|
105
|
+
flex-direction: row;
|
|
106
|
+
align-items: center;
|
|
107
|
+
gap: 8px;
|
|
108
|
+
padding: 8px;
|
|
109
|
+
border-radius: 4px;
|
|
110
|
+
|
|
111
|
+
&:hover, &.focus {
|
|
112
|
+
background-color: ${theme.color.light[600]};
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
button.selector {
|
|
116
|
+
flex: 1;
|
|
117
|
+
border: none;
|
|
118
|
+
text-align: left;
|
|
119
|
+
background-color: transparent;
|
|
120
|
+
text-align: left;
|
|
121
|
+
outline: none;
|
|
122
|
+
overflow: hidden;
|
|
123
|
+
cursor: pointer;
|
|
124
|
+
|
|
125
|
+
.selector-title {
|
|
126
|
+
font-size: 11px;
|
|
127
|
+
margin: 0 0 4px 0;
|
|
128
|
+
color: ${theme.color.light.contrastText};
|
|
129
|
+
text-transform: uppercase;
|
|
130
|
+
text-overflow: ellipsis;
|
|
131
|
+
overflow: hidden;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.selector-description {
|
|
135
|
+
color: ${theme.color.light[700]};
|
|
136
|
+
font-size: 12px;
|
|
137
|
+
margin: 0;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
`;
|
|
144
|
+
//# sourceMappingURL=styled.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styled.js","sourceRoot":"","sources":["../../../src/components/Selector/styled.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAG1C,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAA;;;;wBAIb,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;wBACtB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAmCpB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0B/B,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;8BAeT,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;mCAIjB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY;mBAC9C,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;8BAuBnB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;qBAgB/B,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY;;;;;;;qBAO9B,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;CAQ1C,CAAA"}
|
package/dist/regex.d.ts
CHANGED
package/dist/regex.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regex.d.ts","sourceRoot":"","sources":["../src/regex.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,QAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"regex.d.ts","sourceRoot":"","sources":["../src/regex.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,QAAkB,CAAA;AAChD,eAAO,MAAM,UAAU,QAAiB,CAAA"}
|
package/dist/regex.js
CHANGED
package/dist/regex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regex.js","sourceRoot":"","sources":["../src/regex.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAA"}
|
|
1
|
+
{"version":3,"file":"regex.js","sourceRoot":"","sources":["../src/regex.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAA;AAChD,MAAM,CAAC,MAAM,UAAU,GAAG,cAAc,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { Button, Text } from '@citric/core';
|
|
3
|
-
import { Search } from '@citric/icons';
|
|
2
|
+
import { Button, IconBox, Text } from '@citric/core';
|
|
3
|
+
import { Agent, Search } from '@citric/icons';
|
|
4
4
|
import { Placeholder } from '@stack-spot/portal-components/Placeholder';
|
|
5
5
|
import { MiniLogo } from '@stack-spot/portal-components/svg';
|
|
6
6
|
import { agentClient } from '@stack-spot/portal-network';
|
|
@@ -19,7 +19,7 @@ export const AgentsTab = ({ visibility }) => {
|
|
|
19
19
|
const [filter, setFilter] = useState('');
|
|
20
20
|
const defaultAgent = useMemo(() => ({
|
|
21
21
|
id: '',
|
|
22
|
-
name: '
|
|
22
|
+
name: 'StackSpot AI',
|
|
23
23
|
description: t.defaultAgentDescription,
|
|
24
24
|
llm_config: { model_slug: 'gpt4o' },
|
|
25
25
|
}), []);
|
|
@@ -35,7 +35,7 @@ export const AgentsTab = ({ visibility }) => {
|
|
|
35
35
|
}
|
|
36
36
|
close();
|
|
37
37
|
}
|
|
38
|
-
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "content", children: [_jsx(IconInput, { icon: _jsx(Search, {}), value: filter, onChange: setFilter, className: "search" }), !!filtered.length && _jsx(DescribedRadioGroup, { options: filtered, keygen: a => a.id, value: value, onChange: setValue, renderLabel: ({ name, avatar, id }) => (_jsxs(AgentLabel, { children: [id ? (avatar
|
|
38
|
+
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "content", children: [_jsx(IconInput, { icon: _jsx(Search, {}), value: filter, onChange: setFilter, className: "search" }), !!filtered.length && _jsx(DescribedRadioGroup, { options: filtered, keygen: a => a.id, value: value, onChange: setValue, renderLabel: ({ name, avatar, id }) => (_jsxs(AgentLabel, { children: [id ? (avatar ? _jsx("img", { src: avatar }) : _jsx(IconBox, { size: "xs", children: _jsx(Agent, {}) })) : _jsx(MiniLogo, {}), _jsx(Text, { children: name })] })), renderDescription: a => _jsx(AgentDescription, { agentId: a.id, description: a.description, llm: a.llm_config?.model_slug, numberOfKnowledgeSources: a.knowledge_sources_config?.knowledge_sources?.length ?? 0 }), optionClassName: a => (a === value && filter && !a.name.toLocaleLowerCase().includes(filter.toLocaleLowerCase()))
|
|
39
39
|
? 'filtered-out'
|
|
40
40
|
: '', className: "option-list" }), !!agents.length && !filtered.length &&
|
|
41
41
|
_jsx(Placeholder, { title: t.noSearchResults, description: t.noSearchResultsDescription, className: "no-data-placeholder" }), !agents.length && _jsx(Placeholder, { title: t.noData, description: t.noDataDescription })] }), !!filtered.length && _jsx(Button, { onClick: submit, disabled: !value, children: t.apply })] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentsTab.js","sourceRoot":"","sources":["../../../src/views/Agents/AgentsTab.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"AgentsTab.js","sourceRoot":"","sources":["../../../src/views/Agents/AgentsTab.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,5 +6,5 @@ import { MiniLogo } from '@stack-spot/portal-components/svg';
|
|
|
6
6
|
*/
|
|
7
7
|
export const AgentInfo = ({ agent }) => (_jsxs(_Fragment, { children: [agent?.image
|
|
8
8
|
? _jsx("img", { src: agent.image, className: "custom-agent-image" })
|
|
9
|
-
: _jsx("div", { className: "default-image-wrapper", children: _jsx(MiniLogo, { className: "agent-image" }) }), _jsx(Text, { appearance: "body2", children: agent?.label || '
|
|
9
|
+
: _jsx("div", { className: "default-image-wrapper", children: _jsx(MiniLogo, { className: "agent-image" }) }), _jsx(Text, { appearance: "body2", children: agent?.label || 'StackSpot AI' })] }));
|
|
10
10
|
//# sourceMappingURL=AgentInfo.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Text } from '@citric/core';
|
|
3
|
-
import {
|
|
2
|
+
import { IconBox, Text } from '@citric/core';
|
|
3
|
+
import { Agent } from '@citric/icons';
|
|
4
4
|
import { agentClient } from '@stack-spot/portal-network';
|
|
5
5
|
import { theme } from '@stack-spot/portal-theme';
|
|
6
6
|
import { useMemo } from 'react';
|
|
@@ -19,6 +19,6 @@ export const CustomAgent = () => {
|
|
|
19
19
|
function send(message) {
|
|
20
20
|
chat.pushMessage(ChatEntry.createUserEntry(message));
|
|
21
21
|
}
|
|
22
|
-
return (_jsxs(HomeBox, { className: "home-page custom-agent", children: [image ? _jsx("img", { src: image, className: "avatar" }) : _jsx(
|
|
22
|
+
return (_jsxs(HomeBox, { className: "home-page custom-agent", children: [image ? _jsx("img", { src: image, className: "avatar" }) : _jsx(IconBox, { className: "avatar", children: _jsx(Agent, {}) }), _jsx(Text, { appearance: "h3", children: label }), _jsx("div", { className: "shortcuts", children: suggestions?.length ? suggestions : null })] }));
|
|
23
23
|
};
|
|
24
24
|
//# sourceMappingURL=CustomAgent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomAgent.js","sourceRoot":"","sources":["../../../src/views/Home/CustomAgent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"CustomAgent.js","sourceRoot":"","sources":["../../../src/views/Home/CustomAgent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;IAC/D,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAG,EAAE,CAAC,CAAA;IACpE,MAAM,IAAI,GAAG,cAAc,EAAE,CAAA;IAC7B,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CACjF,KAAC,gBAAgB,IAEf,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAC3B,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAClC,cAAc,UAJT,KAAK,CAKV,CACH,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAA;IAE/B,SAAS,IAAI,CAAC,OAAe;QAC3B,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAA;IACtD,CAAC;IAED,OAAO,CACL,MAAC,OAAO,IAAC,SAAS,EAAC,wBAAwB,aACxC,KAAK,CAAC,CAAC,CAAC,cAAK,GAAG,EAAE,KAAK,EAAE,SAAS,EAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,KAAC,OAAO,IAAC,SAAS,EAAC,QAAQ,YAAC,KAAC,KAAK,KAAG,GAAU,EACjG,KAAC,IAAI,IAAC,UAAU,EAAC,IAAI,YAAE,KAAK,GAAQ,EACpC,cAAK,SAAS,EAAC,WAAW,YAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,GAAO,IACnE,CACX,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentSelector.d.ts","sourceRoot":"","sources":["../../../src/views/MessageInput/AgentSelector.tsx"],"names":[],"mappings":"AAQA,eAAO,MAAM,aAAa,iBAAkB;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,CAAA;CAAE,4CA0BhH,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Agent } from '@citric/icons';
|
|
3
|
+
import { agentClient } from '@stack-spot/portal-network';
|
|
4
|
+
import { useCallback } from 'react';
|
|
5
|
+
import { Selector } from '../../components/Selector/index.js';
|
|
6
|
+
import { useCurrentChat, useCurrentChatState } from '../../context/hooks.js';
|
|
7
|
+
import { agentRegex } from '../../regex.js';
|
|
8
|
+
export const AgentSelector = ({ inputRef }) => {
|
|
9
|
+
const chat = useCurrentChat();
|
|
10
|
+
const onSelectItem = useCallback((agent) => {
|
|
11
|
+
const newValue = `@${agent.slug}`;
|
|
12
|
+
chat.set('nextMessage', undefined);
|
|
13
|
+
chat.set('agent', { id: agent.id, label: agent.slug, image: agent.avatar, builtIn: false });
|
|
14
|
+
if (!inputRef.current)
|
|
15
|
+
return;
|
|
16
|
+
inputRef.current.value = newValue;
|
|
17
|
+
inputRef.current.focus();
|
|
18
|
+
}, []);
|
|
19
|
+
return _jsx(Selector, { inputRef: inputRef, selectorConfig: {
|
|
20
|
+
resourceName: 'Agent',
|
|
21
|
+
shortcut: '@',
|
|
22
|
+
icon: _jsx(Agent, {}),
|
|
23
|
+
imageProp: 'avatar',
|
|
24
|
+
regex: agentRegex,
|
|
25
|
+
url: '/agent/',
|
|
26
|
+
data: () => agentClient.agents.useQuery({}),
|
|
27
|
+
isEnabled: useCurrentChatState('features').agent,
|
|
28
|
+
onSelect: onSelectItem,
|
|
29
|
+
} });
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=AgentSelector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentSelector.js","sourceRoot":"","sources":["../../../src/views/MessageInput/AgentSelector.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAE,QAAQ,EAAyE,EAAE,EAAE;IACnH,MAAM,IAAI,GAAG,cAAc,EAAE,CAAA;IAC7B,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,KAAoB,EAAE,EAAE;QACxD,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAA;QACjC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;QAClC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;QAE3F,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE,OAAM;QAC7B,QAAQ,CAAC,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAA;QACjC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IAC1B,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,KAAC,QAAQ,IACd,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE;YACd,YAAY,EAAE,OAAO;YACrB,QAAQ,EAAE,GAAG;YACb,IAAI,EAAE,KAAC,KAAK,KAAG;YACf,SAAS,EAAE,QAAQ;YACnB,KAAK,EAAE,UAAU;YACjB,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,GAAG,EAAE,CAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,SAAS,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC,KAAK;YAChD,QAAQ,EAAE,YAAY;SACvB,GACD,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonAgent.d.ts","sourceRoot":"","sources":["../../../src/views/MessageInput/ButtonAgent.tsx"],"names":[],"mappings":"AAOA,eAAO,MAAM,WAAW,+CA4BvB,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Flex, IconBox } from '@citric/core';
|
|
3
|
+
import { Agent, TimesMini } from '@citric/icons';
|
|
4
|
+
import { IconButton, Tooltip } from '@citric/ui';
|
|
5
|
+
import { MiniLogo } from '@stack-spot/portal-components/svg';
|
|
6
|
+
import { useCurrentChat, useCurrentChatState, useWidget } from '../../context/hooks.js';
|
|
7
|
+
import { useMessageInputDictionary } from './dictionary.js';
|
|
8
|
+
export const ButtonAgent = () => {
|
|
9
|
+
const t = useMessageInputDictionary();
|
|
10
|
+
const widget = useWidget();
|
|
11
|
+
const chat = useCurrentChat();
|
|
12
|
+
const agent = useCurrentChatState('agent');
|
|
13
|
+
const features = useCurrentChatState('features');
|
|
14
|
+
return (_jsx("div", { className: "button-group", children: features.agent && (_jsxs("div", { className: "group-agent", children: [_jsx(IconButton, { "aria-label": t.agent, title: t.agent, className: "agent", onClick: () => widget.set('panel', 'agent'), children: _jsx(MiniLogo, {}) }), agent?.id &&
|
|
15
|
+
_jsx(Tooltip, { text: t.remove, children: _jsxs(IconButton, { "aria-label": t.remove, className: "agent agent-selected", onClick: () => chat.set('agent', undefined), children: [agent?.image ? _jsx("img", { src: agent.image, className: "image" }) : _jsx(IconBox, { className: "image", size: "xs", children: _jsx(Agent, {}) }), _jsx(Flex, { className: "icon-remove", alignContent: "center", justifyContent: "center", children: _jsx(TimesMini, {}) })] }) })] })) }));
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=ButtonAgent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonAgent.js","sourceRoot":"","sources":["../../../src/views/MessageInput/ButtonAgent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAExD,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,MAAM,CAAC,GAAG,yBAAyB,EAAE,CAAA;IACrC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,IAAI,GAAG,cAAc,EAAE,CAAA;IAC7B,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAC1C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAA;IAEhD,OAAO,CACL,cAAK,SAAS,EAAC,cAAc,YAC1B,QAAQ,CAAC,KAAK,IAAI,CACjB,eAAK,SAAS,EAAC,aAAa,aAC1B,KAAC,UAAU,kBAAa,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,EAAC,OAAO,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,YAC5G,KAAC,QAAQ,KAAG,GACD,EACZ,KAAK,EAAE,EAAE;oBACR,KAAC,OAAO,IAAC,IAAI,EAAE,CAAC,CAAC,MAAM,YACrB,MAAC,UAAU,kBAAa,CAAC,CAAC,MAAM,EAAE,SAAS,EAAC,sBAAsB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,aAC3G,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,cAAK,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAC,OAAO,GAAG,CAAC,CAAC,CAAC,KAAC,OAAO,IAAC,SAAS,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,YAAC,KAAC,KAAK,KAAG,GAAU,EACtH,KAAC,IAAI,IAAC,SAAS,EAAC,aAAa,EAAC,YAAY,EAAC,QAAQ,EAAC,cAAc,EAAC,QAAQ,YACzE,KAAC,SAAS,KAAG,GACR,IACI,GACL,IAER,CACP,GACG,CACP,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -22,7 +22,7 @@ interface ButtonGroupProps {
|
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
24
|
* Renders the button group at right bottom side of the message input. This includes the send button as well as the buttons to open the
|
|
25
|
-
* editor, change the
|
|
25
|
+
* editor, change the stack, etc.
|
|
26
26
|
*/
|
|
27
27
|
export declare const ButtonGroup: ({ onSend, onCancel, expanded, setExpanded, isLoading }: ButtonGroupProps) => import("react/jsx-runtime").JSX.Element;
|
|
28
28
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonGroup.d.ts","sourceRoot":"","sources":["../../../src/views/MessageInput/ButtonGroup.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ButtonGroup.d.ts","sourceRoot":"","sources":["../../../src/views/MessageInput/ButtonGroup.tsx"],"names":[],"mappings":"AAOA,UAAU,gBAAgB;IACxB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB;;OAEG;IACH,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,2DAA4D,gBAAgB,4CA0EnG,CAAA"}
|