@stack-spot/ai-chat-widget 0.2.0 → 0.4.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/StackspotAIWidget.d.ts.map +1 -1
- package/dist/StackspotAIWidget.js +2 -1
- package/dist/StackspotAIWidget.js.map +1 -1
- package/dist/chat-interceptors/quick-commands.js +2 -2
- package/dist/chat-interceptors/quick-commands.js.map +1 -1
- package/dist/chat-interceptors/send-message.d.ts.map +1 -1
- package/dist/chat-interceptors/send-message.js +6 -9
- package/dist/chat-interceptors/send-message.js.map +1 -1
- package/dist/components/HistoryList.d.ts +2 -5
- package/dist/components/HistoryList.d.ts.map +1 -1
- package/dist/components/HistoryList.js +70 -2
- package/dist/components/HistoryList.js.map +1 -1
- package/dist/components/OverlayMenu.d.ts +3 -2
- package/dist/components/OverlayMenu.d.ts.map +1 -1
- package/dist/components/OverlayMenu.js +57 -1
- package/dist/components/OverlayMenu.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts +2 -1
- package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +10 -2
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/Tooltip/TooltipAPI.d.ts +5 -2
- package/dist/components/Tooltip/TooltipAPI.d.ts.map +1 -1
- package/dist/components/Tooltip/TooltipAPI.js +50 -8
- package/dist/components/Tooltip/TooltipAPI.js.map +1 -1
- package/dist/components/Tooltip/context.js +1 -1
- package/dist/components/Tooltip/context.js.map +1 -1
- package/dist/components/Tooltip/style.d.ts.map +1 -1
- package/dist/components/Tooltip/style.js +0 -1
- package/dist/components/Tooltip/style.js.map +1 -1
- package/dist/components/Tooltip/types.d.ts +6 -0
- package/dist/components/Tooltip/types.d.ts.map +1 -1
- package/dist/features.d.ts.map +1 -1
- package/dist/features.js +1 -0
- package/dist/features.js.map +1 -1
- package/dist/layout.css +6 -0
- package/dist/state/ChatEntry.d.ts +3 -2
- package/dist/state/ChatEntry.d.ts.map +1 -1
- package/dist/state/ChatEntry.js +2 -2
- package/dist/state/ChatEntry.js.map +1 -1
- package/dist/state/ChatState.d.ts +1 -7
- package/dist/state/ChatState.d.ts.map +1 -1
- package/dist/state/ChatState.js.map +1 -1
- package/dist/state/types.d.ts +8 -0
- package/dist/state/types.d.ts.map +1 -0
- package/dist/state/types.js +2 -0
- package/dist/state/types.js.map +1 -0
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/date.d.ts +1 -0
- package/dist/utils/date.d.ts.map +1 -1
- package/dist/utils/date.js +3 -0
- package/dist/utils/date.js.map +1 -1
- package/dist/utils/download.d.ts +2 -0
- package/dist/utils/download.d.ts.map +1 -0
- package/dist/utils/download.js +10 -0
- package/dist/utils/download.js.map +1 -0
- package/dist/utils/knowledge-source.d.ts +3 -1
- package/dist/utils/knowledge-source.d.ts.map +1 -1
- package/dist/utils/knowledge-source.js +8 -0
- package/dist/utils/knowledge-source.js.map +1 -1
- package/dist/views/Agents.js +2 -1
- package/dist/views/Agents.js.map +1 -1
- package/dist/views/Chat/AgentInfo.d.ts +3 -2
- package/dist/views/Chat/AgentInfo.d.ts.map +1 -1
- package/dist/views/Chat/AgentInfo.js +3 -3
- package/dist/views/Chat/AgentInfo.js.map +1 -1
- package/dist/views/Chat/ChatMessage.d.ts.map +1 -1
- package/dist/views/Chat/ChatMessage.js +3 -3
- package/dist/views/Chat/ChatMessage.js.map +1 -1
- package/dist/views/Chat/chat-scroll.d.ts.map +1 -0
- package/dist/{hooks → views/Chat}/chat-scroll.js +5 -3
- package/dist/views/Chat/chat-scroll.js.map +1 -0
- package/dist/views/Chat/styled.d.ts.map +1 -1
- package/dist/views/Chat/styled.js +8 -1
- package/dist/views/Chat/styled.js.map +1 -1
- package/dist/views/ChatHistory/ChatHistoryPanel.d.ts +5 -0
- package/dist/views/ChatHistory/ChatHistoryPanel.d.ts.map +1 -0
- package/dist/views/ChatHistory/ChatHistoryPanel.js +10 -0
- package/dist/views/ChatHistory/ChatHistoryPanel.js.map +1 -0
- package/dist/views/ChatHistory/HistoryItem.d.ts +7 -0
- package/dist/views/ChatHistory/HistoryItem.d.ts.map +1 -0
- package/dist/views/ChatHistory/HistoryItem.js +116 -0
- package/dist/views/ChatHistory/HistoryItem.js.map +1 -0
- package/dist/views/ChatHistory/dictionary.d.ts +2 -0
- package/dist/views/ChatHistory/dictionary.d.ts.map +1 -0
- package/dist/views/ChatHistory/dictionary.js +19 -0
- package/dist/views/ChatHistory/dictionary.js.map +1 -0
- package/dist/views/ChatHistory/index.d.ts +5 -0
- package/dist/views/ChatHistory/index.d.ts.map +1 -0
- package/dist/views/ChatHistory/index.js +23 -0
- package/dist/views/ChatHistory/index.js.map +1 -0
- package/dist/views/ChatHistory/styled.d.ts +2 -0
- package/dist/views/ChatHistory/styled.d.ts.map +1 -0
- package/dist/views/ChatHistory/styled.js +60 -0
- package/dist/views/ChatHistory/styled.js.map +1 -0
- package/dist/views/ChatHistory/utils.d.ts +5 -0
- package/dist/views/ChatHistory/utils.d.ts.map +1 -0
- package/dist/views/ChatHistory/utils.js +39 -0
- package/dist/views/ChatHistory/utils.js.map +1 -0
- package/dist/views/ChatTabSelection.js +1 -1
- package/dist/views/ChatTabSelection.js.map +1 -1
- package/dist/views/KnowledgeSources.d.ts.map +1 -1
- package/dist/views/KnowledgeSources.js +30 -21
- package/dist/views/KnowledgeSources.js.map +1 -1
- package/dist/views/MessageInput/dictionary.d.ts +1 -1
- package/dist/views/Stacks.js +2 -1
- package/dist/views/Stacks.js.map +1 -1
- package/dist/views/Workspaces.d.ts.map +1 -1
- package/dist/views/Workspaces.js +3 -2
- package/dist/views/Workspaces.js.map +1 -1
- package/package.json +3 -2
- package/src/StackspotAIWidget.tsx +3 -1
- package/src/chat-interceptors/quick-commands.ts +2 -2
- package/src/chat-interceptors/send-message.ts +6 -9
- package/src/components/HistoryList.tsx +80 -7
- package/src/components/OverlayMenu.tsx +70 -3
- package/src/components/Tooltip/Tooltip.tsx +13 -7
- package/src/components/Tooltip/TooltipAPI.ts +47 -9
- package/src/components/Tooltip/context.tsx +1 -1
- package/src/components/Tooltip/style.tsx +0 -1
- package/src/components/Tooltip/types.ts +7 -0
- package/src/features.ts +1 -0
- package/src/layout.css +6 -0
- package/src/state/ChatEntry.ts +5 -4
- package/src/state/ChatState.ts +1 -9
- package/src/state/types.ts +8 -0
- package/src/types.ts +1 -1
- package/src/utils/date.ts +4 -0
- package/src/utils/download.ts +12 -0
- package/src/utils/knowledge-source.ts +13 -1
- package/src/views/Agents.tsx +2 -1
- package/src/views/Chat/AgentInfo.tsx +8 -8
- package/src/views/Chat/ChatMessage.tsx +4 -4
- package/src/{hooks → views/Chat}/chat-scroll.ts +6 -3
- package/src/views/Chat/styled.ts +8 -1
- package/src/views/ChatHistory/ChatHistoryPanel.tsx +28 -0
- package/src/views/ChatHistory/HistoryItem.tsx +139 -0
- package/src/views/ChatHistory/dictionary.ts +20 -0
- package/src/views/ChatHistory/index.tsx +31 -0
- package/src/views/ChatHistory/styled.ts +60 -0
- package/src/views/ChatHistory/utils.ts +37 -0
- package/src/views/ChatTabSelection.tsx +1 -1
- package/src/views/KnowledgeSources.tsx +39 -20
- package/src/views/Stacks.tsx +2 -1
- package/src/views/Workspaces.tsx +3 -2
- package/dist/hooks/chat-scroll.d.ts.map +0 -1
- package/dist/hooks/chat-scroll.js.map +0 -1
- /package/dist/{hooks → views/Chat}/chat-scroll.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StackspotAIWidget.d.ts","sourceRoot":"","sources":["../src/StackspotAIWidget.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAmB,MAAM,YAAY,CAAA;AAC9D,OAAO,cAAc,CAAA;AAGrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"StackspotAIWidget.d.ts","sourceRoot":"","sources":["../src/StackspotAIWidget.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAmB,MAAM,YAAY,CAAA;AAC9D,OAAO,cAAc,CAAA;AAGrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAa1C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACpC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED,eAAO,MAAM,iBAAiB,uFACoF,aAAa,4CAqC9H,CAAA"}
|
|
@@ -11,6 +11,7 @@ import { RightPanel } from './right-panel/RightPanel.js';
|
|
|
11
11
|
import { RightPanelProvider } from './right-panel/RightPanelProvider.js';
|
|
12
12
|
import { Agents } from './views/Agents.js';
|
|
13
13
|
import { Chat } from './views/Chat/index.js';
|
|
14
|
+
import { ChatHistory } from './views/ChatHistory/index.js';
|
|
14
15
|
import { ChatTabSelection } from './views/ChatTabSelection.js';
|
|
15
16
|
import { Home } from './views/Home.js';
|
|
16
17
|
import { KnowledgeSources } from './views/KnowledgeSources.js';
|
|
@@ -29,6 +30,6 @@ export const StackspotAIWidget = ({ username, features = defaultFeatures, interc
|
|
|
29
30
|
const isCurrentChatEmpty = currentChat.length === 0;
|
|
30
31
|
return useMemo(() => (_jsx(TooltipProvider, { children: _jsx(RightPanelProvider, { chatWindow: chatWindowRef, panel: rightPanelRef, children: _jsxs("div", { className: listToClass(['ai-chat-widget', isMinimized && 'minimized']), children: [_jsxs("div", { className: "chat-window", ref: chatWindowRef, children: [isMinimized
|
|
31
32
|
? _jsx(MinimizedHeader, { ...minimizedActions })
|
|
32
|
-
: _jsx(ChatTabSelection, { history: features?.chatHistory, interceptors: interceptors }), _jsxs("div", { className: "chat-container", children: [_jsx("div", { className: "chat-content", children: isCurrentChatEmpty ? (children ?? _jsx(Home, { username: username })) : _jsx(Chat, { username: username }) }), _jsx(MessageInput, { features: features })] })] }), _jsx(Stacks, {}), _jsx(Workspaces, {}), _jsx(KnowledgeSources, {}), _jsx(KSDocument, {}), _jsx(Agents, {}),
|
|
33
|
+
: _jsx(ChatTabSelection, { history: features?.chatHistory, interceptors: interceptors }), _jsxs("div", { className: "chat-container", children: [_jsx("div", { className: "chat-content", children: isCurrentChatEmpty ? (children ?? _jsx(Home, { username: username })) : _jsx(Chat, { username: username }) }), _jsx(MessageInput, { features: features })] })] }), _jsx(Stacks, {}), _jsx(Workspaces, {}), _jsx(KnowledgeSources, {}), _jsx(KSDocument, {}), _jsx(Agents, {}), _jsx(ChatHistory, { interceptors: interceptors }), _jsx("div", { className: "chat-right-panel", ref: rightPanelRef, children: _jsx(RightPanel, {}) })] }) }) })), [isCurrentChatEmpty, features, username, isMinimized]);
|
|
33
34
|
};
|
|
34
35
|
//# sourceMappingURL=StackspotAIWidget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StackspotAIWidget.js","sourceRoot":"","sources":["../src/StackspotAIWidget.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"StackspotAIWidget.js","sourceRoot":"","sources":["../src/StackspotAIWidget.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
2
2
|
export function quickCommandInterceptor(entry, _chat) {
|
|
3
|
-
const {
|
|
4
|
-
if (
|
|
3
|
+
const { agentType, content } = entry.getValue();
|
|
4
|
+
if (agentType !== 'user')
|
|
5
5
|
return;
|
|
6
6
|
if (content.startsWith('/')) {
|
|
7
7
|
alert('Quick commands are not yet supported!'); /* todo */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quick-commands.js","sourceRoot":"","sources":["../../src/chat-interceptors/quick-commands.ts"],"names":[],"mappings":"AAGA,6DAA6D;AAC7D,MAAM,UAAU,uBAAuB,CAAC,KAAgB,EAAE,KAAgB;IACxE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"quick-commands.js","sourceRoot":"","sources":["../../src/chat-interceptors/quick-commands.ts"],"names":[],"mappings":"AAGA,6DAA6D;AAC7D,MAAM,UAAU,uBAAuB,CAAC,KAAgB,EAAE,KAAgB;IACxE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;IAC/C,IAAI,SAAS,KAAK,MAAM;QAAE,OAAM;IAChC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,uCAAuC,CAAC,CAAA,CAAC,UAAU;QACzD,OAAO,KAAK,CAAA,CAAC,sGAAsG;IACrH,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-message.d.ts","sourceRoot":"","sources":["../../src/chat-interceptors/send-message.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAmB,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"send-message.d.ts","sourceRoot":"","sources":["../../src/chat-interceptors/send-message.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAmB,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAI9C,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,iBAqC7E"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { aiClient, StackspotAPIError } from '@stack-spot/portal-network';
|
|
2
2
|
import { ChatEntry } from '../state/ChatEntry.js';
|
|
3
3
|
import { buildConversationContext } from '../utils/chat.js';
|
|
4
|
+
import { genericSourcesToKnowledgeSources } from '../utils/knowledge-source.js';
|
|
4
5
|
export async function sendMessageInterceptor(entry, chat) {
|
|
5
|
-
const {
|
|
6
|
-
if (
|
|
6
|
+
const { agentType, content } = entry.getValue();
|
|
7
|
+
if (agentType !== 'user')
|
|
7
8
|
return;
|
|
8
9
|
const context = buildConversationContext(chat);
|
|
9
10
|
chat.set('isLoading', true);
|
|
@@ -17,20 +18,16 @@ export async function sendMessageInterceptor(entry, chat) {
|
|
|
17
18
|
let knowledgeSources;
|
|
18
19
|
stream.onChange(value => {
|
|
19
20
|
if (value.sources?.length !== knowledgeSources?.length) {
|
|
20
|
-
knowledgeSources = value.sources
|
|
21
|
-
documentId: ks.document_id,
|
|
22
|
-
documentScore: ks.document_score,
|
|
23
|
-
name: ks.name,
|
|
24
|
-
slug: ks.slug,
|
|
25
|
-
}));
|
|
21
|
+
knowledgeSources = genericSourcesToKnowledgeSources(value.sources);
|
|
26
22
|
}
|
|
27
23
|
botEntry.setValue({
|
|
28
|
-
|
|
24
|
+
agentType: 'bot',
|
|
29
25
|
type: 'md',
|
|
30
26
|
content: value.answer ?? '',
|
|
31
27
|
messageId: value.message_id ?? undefined,
|
|
32
28
|
knowledgeSources,
|
|
33
29
|
updated: new Date().toISOString(),
|
|
30
|
+
agent: chat.get('agent'),
|
|
34
31
|
});
|
|
35
32
|
});
|
|
36
33
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../src/chat-interceptors/send-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACxE,OAAO,EAAE,SAAS,EAAmB,MAAM,oBAAoB,CAAA;AAE/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../src/chat-interceptors/send-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACxE,OAAO,EAAE,SAAS,EAAmB,MAAM,oBAAoB,CAAA;AAE/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;AACxD,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAA;AAE5E,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,KAAgB,EAAE,IAAe;IAC5E,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;IAC/C,IAAI,SAAS,KAAK,MAAM;QAAE,OAAM;IAChC,MAAM,OAAO,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAA;IAC9C,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;IAC3B,uDAAuD;IACvD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC5B,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAA;IAC1E,MAAM,QAAQ,GAAG,SAAS,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IACxE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IAC1B,IAAI,gBAA+C,CAAA;IACnD,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QACtB,IAAI,KAAK,CAAC,OAAO,EAAE,MAAM,KAAK,gBAAgB,EAAE,MAAM,EAAE,CAAC;YACvD,gBAAgB,GAAG,gCAAgC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACpE,CAAC;QACD,QAAQ,CAAC,QAAQ,CAAC;YAChB,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE;YAC3B,SAAS,EAAE,KAAK,CAAC,UAAU,IAAI,SAAS;YACxC,gBAAgB;YAChB,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACjC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;SACzB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAA;IACzB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,QAAQ,CAAC,QAAQ,CAAC;YAChB,GAAG,QAAQ,CAAC,QAAQ,EAAE;YACtB,KAAK,EAAE,KAAK,YAAY,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,GAAG,KAAK,EAAE,CAAC;SAC9F,CAAC,CAAA;IACJ,CAAC;IACD,QAAQ,CAAC,MAAM,EAAE,CAAA;IACjB,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;AAC9B,CAAC"}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import { WithStyle } from '@stack-spot/portal-theme';
|
|
2
|
-
import { ButtonAction } from '../types.js';
|
|
3
2
|
interface Props<T> extends WithStyle {
|
|
4
3
|
items: T[];
|
|
5
|
-
|
|
4
|
+
renderItem: (item: T) => React.ReactNode;
|
|
6
5
|
getDate: (item: T) => Date;
|
|
7
6
|
keygen: (item: T) => React.Key;
|
|
8
|
-
getActions?: (item: T) => ButtonAction[];
|
|
9
|
-
onSelect?: (item: T) => void;
|
|
10
7
|
}
|
|
11
|
-
export declare function HistoryList<T>({}: Props<T>):
|
|
8
|
+
export declare function HistoryList<T>({ getDate, items, keygen, className, style, renderItem }: Props<T>): import("react/jsx-runtime").JSX.Element;
|
|
12
9
|
export {};
|
|
13
10
|
//# sourceMappingURL=HistoryList.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HistoryList.d.ts","sourceRoot":"","sources":["../../src/components/HistoryList.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HistoryList.d.ts","sourceRoot":"","sources":["../../src/components/HistoryList.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAS,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAS3D,UAAU,KAAK,CAAC,CAAC,CAAE,SAAQ,SAAS;IAClC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IACzC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC3B,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC;CAChC;AAuCD,wBAAgB,WAAW,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,2CAehG"}
|
|
@@ -1,4 +1,72 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/* eslint-disable no-empty-pattern */
|
|
3
|
+
import { Text } from '@citric/core';
|
|
4
|
+
import { theme } from '@stack-spot/portal-theme';
|
|
5
|
+
import { useTranslate } from '@stack-spot/portal-translate';
|
|
6
|
+
import { groupBy, map } from 'lodash';
|
|
7
|
+
import { useMemo } from 'react';
|
|
8
|
+
import { styled } from 'styled-components';
|
|
9
|
+
import { subtractDays } from '../utils/date.js';
|
|
10
|
+
const HistoryBox = styled.div `
|
|
11
|
+
display: flex;
|
|
12
|
+
flex-direction: column;
|
|
13
|
+
gap: 4px;
|
|
14
|
+
|
|
15
|
+
> section {
|
|
16
|
+
> header {
|
|
17
|
+
background-color: ${theme.color.light[500]};
|
|
18
|
+
padding: 8px;
|
|
19
|
+
border-radius: 4px;
|
|
20
|
+
color: ${theme.color.light[700]};
|
|
21
|
+
margin-bottom: 4px;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
> ul {
|
|
25
|
+
margin: 0;
|
|
26
|
+
padding: 0;
|
|
27
|
+
list-style: none;
|
|
28
|
+
display: flex;
|
|
29
|
+
flex-direction: column;
|
|
30
|
+
gap: 2px;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
`;
|
|
34
|
+
function dateToSectionName(date) {
|
|
35
|
+
const now = new Date();
|
|
36
|
+
if (date.toDateString() === now.toDateString())
|
|
37
|
+
return 'today';
|
|
38
|
+
const yesterday = subtractDays(now, 1);
|
|
39
|
+
if (date.toDateString() === yesterday.toDateString())
|
|
40
|
+
return 'yesterday';
|
|
41
|
+
const todayAtMidnight = new Date(now.toDateString());
|
|
42
|
+
const last7Days = subtractDays(todayAtMidnight, 7);
|
|
43
|
+
if (date.getTime() >= last7Days.getTime())
|
|
44
|
+
return 'last7';
|
|
45
|
+
const last30Days = subtractDays(todayAtMidnight, 30);
|
|
46
|
+
return date.getTime() >= last30Days.getTime() ? 'last30' : 'older';
|
|
3
47
|
}
|
|
48
|
+
export function HistoryList({ getDate, items, keygen, className, style, renderItem }) {
|
|
49
|
+
const t = useTranslate(dictionary);
|
|
50
|
+
const sections = useMemo(() => {
|
|
51
|
+
const byDate = groupBy(items, item => dateToSectionName(getDate(item)));
|
|
52
|
+
return map(byDate, (value, key) => (_jsxs("section", { children: [_jsx("header", { children: _jsx(Text, { children: t[key] }) }), _jsx("ul", { children: value.map(item => _jsx("li", { children: renderItem(item) }, keygen(item))) })] }, key)));
|
|
53
|
+
}, [items]);
|
|
54
|
+
return _jsx(HistoryBox, { className: className, style: style, children: sections });
|
|
55
|
+
}
|
|
56
|
+
const dictionary = {
|
|
57
|
+
en: {
|
|
58
|
+
today: 'Today',
|
|
59
|
+
yesterday: 'Yesterday',
|
|
60
|
+
last7: 'Last 7 days',
|
|
61
|
+
last30: 'Last 30 days',
|
|
62
|
+
older: 'Older',
|
|
63
|
+
},
|
|
64
|
+
pt: {
|
|
65
|
+
today: 'Hoje',
|
|
66
|
+
yesterday: 'Ontem',
|
|
67
|
+
last7: 'Últimos 7 dias',
|
|
68
|
+
last30: 'Últimos 30 dias',
|
|
69
|
+
older: 'Mais antigo',
|
|
70
|
+
},
|
|
71
|
+
};
|
|
4
72
|
//# sourceMappingURL=HistoryList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HistoryList.js","sourceRoot":"","sources":["../../src/components/HistoryList.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HistoryList.js","sourceRoot":"","sources":["../../src/components/HistoryList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { WithStyle } from '@stack-spot/portal-theme';
|
|
2
2
|
import { ButtonAction, WithChildren } from '../types.js';
|
|
3
|
+
import { TooltipPosition } from './Tooltip/types.js';
|
|
3
4
|
interface Props extends WithStyle, WithChildren {
|
|
4
|
-
position?:
|
|
5
|
+
position?: TooltipPosition;
|
|
5
6
|
actions: ButtonAction[];
|
|
6
7
|
}
|
|
7
|
-
export declare const OverlayMenu: ({}: Props) =>
|
|
8
|
+
export declare const OverlayMenu: ({ actions, children, className, position, style }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
8
9
|
export {};
|
|
9
10
|
//# sourceMappingURL=OverlayMenu.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OverlayMenu.d.ts","sourceRoot":"","sources":["../../src/components/OverlayMenu.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"OverlayMenu.d.ts","sourceRoot":"","sources":["../../src/components/OverlayMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAS,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAG3D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAGrD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD,UAAU,KAAM,SAAQ,SAAS,EAAE,YAAY;IAC7C,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AA0CD,eAAO,MAAM,WAAW,sDAAuD,KAAK,4CAqBnF,CAAA"}
|
|
@@ -1,2 +1,58 @@
|
|
|
1
|
-
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/* eslint-disable no-empty-pattern */
|
|
3
|
+
import { IconBox, Text } from '@citric/core';
|
|
4
|
+
import { theme } from '@stack-spot/portal-theme';
|
|
5
|
+
import { useMemo } from 'react';
|
|
6
|
+
import { styled } from 'styled-components';
|
|
7
|
+
import { Tooltip } from './Tooltip/index.js';
|
|
8
|
+
import { useTooltip } from './Tooltip/context.js';
|
|
9
|
+
const MenuList = styled.ul `
|
|
10
|
+
margin: 0;
|
|
11
|
+
padding: 0;
|
|
12
|
+
list-style: none;
|
|
13
|
+
border-radius: 8px;
|
|
14
|
+
background-color: ${theme.color.light[400]};
|
|
15
|
+
overflow: hidden;
|
|
16
|
+
display: flex;
|
|
17
|
+
flex-direction: column;
|
|
18
|
+
|
|
19
|
+
> li {
|
|
20
|
+
display: flex;
|
|
21
|
+
flex-direction: column;
|
|
22
|
+
|
|
23
|
+
> button {
|
|
24
|
+
padding: 8px 12px;
|
|
25
|
+
transition: background-color 0.2s;
|
|
26
|
+
cursor: pointer;
|
|
27
|
+
display: flex;
|
|
28
|
+
flex-direction: row;
|
|
29
|
+
align-items: center;
|
|
30
|
+
gap: 8px;
|
|
31
|
+
background-color: transparent;
|
|
32
|
+
border: none;
|
|
33
|
+
|
|
34
|
+
&:hover {
|
|
35
|
+
background-color: ${theme.color.light[500]};
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
`;
|
|
40
|
+
const StyledButton = styled.button `
|
|
41
|
+
color: ${({ $color }) => $color || theme.color.light.contrastText};
|
|
42
|
+
|
|
43
|
+
svg {
|
|
44
|
+
fill: ${({ $color }) => $color || theme.color.light.contrastText};
|
|
45
|
+
}
|
|
46
|
+
`;
|
|
47
|
+
export const OverlayMenu = ({ actions, children, className, position, style }) => {
|
|
48
|
+
const tooltip = useTooltip();
|
|
49
|
+
const menu = useMemo(() => {
|
|
50
|
+
const items = actions.map(({ label, onClick, className, color, icon, style }) => (_jsx("li", { className: className, style: style, children: _jsxs(StyledButton, { "$color": color, onClick: () => {
|
|
51
|
+
onClick();
|
|
52
|
+
tooltip.hide();
|
|
53
|
+
}, children: [_jsx(IconBox, { children: icon }), _jsx(Text, { children: label })] }) }, label)));
|
|
54
|
+
return _jsx(MenuList, { children: items });
|
|
55
|
+
}, [actions]);
|
|
56
|
+
return (_jsx(Tooltip, { content: menu, custom: true, position: position, className: className, style: style, triggeredBy: "click", children: children }));
|
|
57
|
+
};
|
|
2
58
|
//# sourceMappingURL=OverlayMenu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OverlayMenu.js","sourceRoot":"","sources":["../../src/components/OverlayMenu.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"OverlayMenu.js","sourceRoot":"","sources":["../../src/components/OverlayMenu.tsx"],"names":[],"mappings":";AAAA,qCAAqC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAa,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAQ9C,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAA;;;;;sBAKJ,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;4BAqBhB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;CAIjD,CAAA;AAED,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAgC;WACvD,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY;;;YAGvD,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY;;CAEnE,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAS,EAAE,EAAE;IACtF,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;QACxB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAC/E,aAAgB,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,YAChD,MAAC,YAAY,cAAS,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE;oBACzC,OAAO,EAAE,CAAA;oBACT,OAAO,CAAC,IAAI,EAAE,CAAA;gBAChB,CAAC,aACC,KAAC,OAAO,cAAE,IAAI,GAAW,EACzB,KAAC,IAAI,cAAE,KAAK,GAAQ,IACP,IAPR,KAAK,CAQT,CACN,CAAC,CAAA;QACF,OAAO,KAAC,QAAQ,cAAE,KAAK,GAAY,CAAA;IACrC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IACb,OAAO,CACL,KAAC,OAAO,IAAC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAC,OAAO,YACvG,QAAQ,GACD,CACX,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -4,8 +4,9 @@ import { TooltipPosition } from './types.js';
|
|
|
4
4
|
interface Props extends WithChildren, WithStyle {
|
|
5
5
|
content: React.ReactNode;
|
|
6
6
|
position?: TooltipPosition;
|
|
7
|
+
triggeredBy?: 'click' | 'hover';
|
|
7
8
|
custom?: boolean;
|
|
8
9
|
}
|
|
9
|
-
export declare const Tooltip: ({ content, custom, position, children, className, style }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare const Tooltip: ({ content, custom, position, triggeredBy, children, className, style }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
10
11
|
export {};
|
|
11
12
|
//# sourceMappingURL=Tooltip.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG1C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC,UAAU,KAAM,SAAQ,YAAY,EAAE,SAAS;IAC7C,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG1C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC,UAAU,KAAM,SAAQ,YAAY,EAAE,SAAS;IAC7C,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,OAAO,2EAAsF,KAAK,4CAqB9G,CAAA"}
|
|
@@ -2,8 +2,16 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { Text } from '@citric/core';
|
|
3
3
|
import { useTooltip } from './context.js';
|
|
4
4
|
import { DefaultTooltip } from './style.js';
|
|
5
|
-
export const Tooltip = ({ content, custom, position = '
|
|
5
|
+
export const Tooltip = ({ content, custom, position, triggeredBy = 'hover', children, className, style }) => {
|
|
6
6
|
const api = useTooltip();
|
|
7
|
-
|
|
7
|
+
function show(e, hideOnClickOutside) {
|
|
8
|
+
api.show({
|
|
9
|
+
content: custom ? content : _jsx(DefaultTooltip, { children: _jsx(Text, { appearance: "microtext1", children: content }) }),
|
|
10
|
+
anchor: e.target,
|
|
11
|
+
position,
|
|
12
|
+
hideOnClickOutside,
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
return (_jsx("div", { ...(triggeredBy === 'hover' ? { onMouseEnter: show, onMouseLeave: () => api.hide() } : { onClick: (e) => show(e, true) }), className: className, style: style, tabIndex: triggeredBy === 'click' ? 0 : undefined, children: children }));
|
|
8
16
|
};
|
|
9
17
|
//# sourceMappingURL=Tooltip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAGnC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAGnC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAUxC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAS,EAAE,EAAE;IACjH,MAAM,GAAG,GAAG,UAAU,EAAE,CAAA;IAExB,SAAS,IAAI,CAAC,CAA+C,EAAE,kBAA4B;QACzF,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAC,cAAc,cAAC,KAAC,IAAI,IAAC,UAAU,EAAC,YAAY,YAAE,OAAO,GAAQ,GAAiB;YAC3G,MAAM,EAAE,CAAC,CAAC,MAAqB;YAC/B,QAAQ;YACR,kBAAkB;SACnB,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,CACL,iBACM,CAAC,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,EAC1H,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,YAEhD,QAAQ,GACL,CACP,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ShowOptions } from './types.js';
|
|
2
2
|
export declare class TooltipAPI {
|
|
3
3
|
private tooltipRef;
|
|
4
4
|
private setContent;
|
|
5
5
|
private hideTimeoutId;
|
|
6
|
+
private clickListener;
|
|
7
|
+
private relativeTo;
|
|
6
8
|
constructor(tooltipRef: React.RefObject<HTMLDivElement>, setContent: React.Dispatch<React.SetStateAction<React.ReactNode>>);
|
|
7
|
-
|
|
9
|
+
private computeRelativeTo;
|
|
10
|
+
show({ content, anchor, position, hideOnClickOutside }: ShowOptions): void;
|
|
8
11
|
hide(): void;
|
|
9
12
|
}
|
|
10
13
|
//# sourceMappingURL=TooltipAPI.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipAPI.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/TooltipAPI.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TooltipAPI.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/TooltipAPI.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAQrC,qBAAa,UAAU;IACrB,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,UAAU,CAAuD;IACzE,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,aAAa,CAAuC;IAC5D,OAAO,CAAC,UAAU,CAAyB;gBAE/B,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAK1H,OAAO,CAAC,iBAAiB;IAQzB,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAmB,EAAE,kBAAkB,EAAE,EAAE,WAAW,GAAG,IAAI;IAgDrF,IAAI,IAAI,IAAI;CAMb"}
|
|
@@ -1,41 +1,81 @@
|
|
|
1
1
|
import { animationTimeMS } from './style.js';
|
|
2
|
+
const MARGIN_TO_CORNERS_PX = 10;
|
|
3
|
+
function isRelative(element) {
|
|
4
|
+
return ['relative', 'absolute', 'fixed'].includes(element.computedStyleMap().get('position')?.toString() ?? '');
|
|
5
|
+
}
|
|
2
6
|
export class TooltipAPI {
|
|
3
7
|
tooltipRef;
|
|
4
8
|
setContent;
|
|
5
9
|
hideTimeoutId;
|
|
10
|
+
clickListener;
|
|
11
|
+
relativeTo;
|
|
6
12
|
constructor(tooltipRef, setContent) {
|
|
7
13
|
this.tooltipRef = tooltipRef;
|
|
8
14
|
this.setContent = setContent;
|
|
9
15
|
}
|
|
10
|
-
|
|
16
|
+
computeRelativeTo() {
|
|
17
|
+
if (this.relativeTo)
|
|
18
|
+
return;
|
|
19
|
+
this.relativeTo = this.tooltipRef.current?.parentElement;
|
|
20
|
+
while (this.relativeTo && this.relativeTo !== document.body && !isRelative(this.relativeTo)) {
|
|
21
|
+
this.relativeTo = this.relativeTo.parentElement;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
show({ content, anchor, position = 'bottom', hideOnClickOutside }) {
|
|
11
25
|
window.clearTimeout(this.hideTimeoutId);
|
|
12
26
|
this.hideTimeoutId = undefined;
|
|
27
|
+
if (this.clickListener)
|
|
28
|
+
document.removeEventListener('click', this.clickListener);
|
|
13
29
|
this.setContent(content);
|
|
14
30
|
setTimeout(() => {
|
|
15
31
|
if (!this.tooltipRef.current)
|
|
16
32
|
return;
|
|
17
|
-
const
|
|
33
|
+
const anchorRect = anchor.getClientRects()[0];
|
|
18
34
|
this.tooltipRef.current.classList.add('visible');
|
|
19
35
|
const tooltipWidth = this.tooltipRef.current.clientWidth;
|
|
20
36
|
const tooltipHeight = this.tooltipRef.current.clientHeight;
|
|
21
37
|
let top = 0;
|
|
22
38
|
let left = 0;
|
|
23
39
|
if (position === 'left' || position === 'right') {
|
|
24
|
-
top =
|
|
40
|
+
top = anchorRect.top + anchorRect.height / 2 - tooltipHeight / 2;
|
|
25
41
|
if (position === 'left')
|
|
26
|
-
left =
|
|
42
|
+
left = anchorRect.left - tooltipWidth;
|
|
27
43
|
else
|
|
28
|
-
left =
|
|
44
|
+
left = anchorRect.left + anchorRect.width;
|
|
29
45
|
}
|
|
30
46
|
else {
|
|
31
|
-
left =
|
|
47
|
+
left = anchorRect.left + anchorRect.width / 2 - tooltipWidth / 2;
|
|
32
48
|
if (position === 'top')
|
|
33
|
-
top =
|
|
49
|
+
top = anchorRect.top - tooltipHeight;
|
|
34
50
|
else
|
|
35
|
-
top =
|
|
51
|
+
top = anchorRect.top + anchorRect.height;
|
|
52
|
+
}
|
|
53
|
+
// takes the parent the tooltip is positioned relative to into consideration
|
|
54
|
+
this.computeRelativeTo();
|
|
55
|
+
const relativeRect = this.relativeTo?.getClientRects()[0] ?? { top: 0, left: 0 };
|
|
56
|
+
top -= relativeRect.top;
|
|
57
|
+
left -= relativeRect.left;
|
|
58
|
+
// adjusts positions in order to avoid overflowing the window and leaving a margin to the corners
|
|
59
|
+
if (top <= 0)
|
|
60
|
+
top += MARGIN_TO_CORNERS_PX;
|
|
61
|
+
else if (top + tooltipHeight >= document.body.clientHeight - MARGIN_TO_CORNERS_PX) {
|
|
62
|
+
top = document.body.clientHeight - MARGIN_TO_CORNERS_PX + tooltipHeight;
|
|
63
|
+
}
|
|
64
|
+
if (left <= 0)
|
|
65
|
+
left += MARGIN_TO_CORNERS_PX;
|
|
66
|
+
else if (left + tooltipWidth >= document.body.clientWidth - MARGIN_TO_CORNERS_PX) {
|
|
67
|
+
left = document.body.clientWidth - MARGIN_TO_CORNERS_PX - tooltipWidth;
|
|
36
68
|
}
|
|
37
69
|
this.tooltipRef.current.style.top = `${top}px`;
|
|
38
70
|
this.tooltipRef.current.style.left = `${left}px`;
|
|
71
|
+
if (hideOnClickOutside) {
|
|
72
|
+
this.clickListener = (e) => {
|
|
73
|
+
if (this.tooltipRef.current?.contains(e.target))
|
|
74
|
+
return;
|
|
75
|
+
this.hide();
|
|
76
|
+
};
|
|
77
|
+
document.addEventListener('click', this.clickListener);
|
|
78
|
+
}
|
|
39
79
|
}, 10);
|
|
40
80
|
}
|
|
41
81
|
hide() {
|
|
@@ -43,6 +83,8 @@ export class TooltipAPI {
|
|
|
43
83
|
return;
|
|
44
84
|
this.tooltipRef.current.classList.remove('visible');
|
|
45
85
|
this.hideTimeoutId = window.setTimeout(() => this.setContent(undefined), animationTimeMS);
|
|
86
|
+
if (this.clickListener)
|
|
87
|
+
document.removeEventListener('click', this.clickListener);
|
|
46
88
|
}
|
|
47
89
|
}
|
|
48
90
|
//# sourceMappingURL=TooltipAPI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipAPI.js","sourceRoot":"","sources":["../../../src/components/Tooltip/TooltipAPI.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"TooltipAPI.js","sourceRoot":"","sources":["../../../src/components/Tooltip/TooltipAPI.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ export const TooltipProvider = ({ children }) => {
|
|
|
7
7
|
const ref = useRef(null);
|
|
8
8
|
const [content, setContent] = useState();
|
|
9
9
|
const api = useMemo(() => new TooltipAPI(ref, setContent), []);
|
|
10
|
-
return (_jsxs(Context.Provider, { value: api, children: [children, _jsx(TooltipBox, { ref: ref,
|
|
10
|
+
return (_jsxs(Context.Provider, { value: api, children: [children, _jsx(TooltipBox, { ref: ref, children: content })] }));
|
|
11
11
|
};
|
|
12
12
|
export function useTooltip() {
|
|
13
13
|
const api = useContext(Context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/components/Tooltip/context.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE5E,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,OAAO,GAAG,aAAa,CAAyB,SAAS,CAAC,CAAA;AAEhE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,QAAQ,EAA0B,EAAE,EAAE;IACtE,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IACxC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAmB,CAAA;IACzD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAA;IAC9D,OAAO,CACL,MAAC,OAAO,CAAC,QAAQ,IAAC,KAAK,EAAE,GAAG,aACzB,QAAQ,EACT,KAAC,UAAU,IAAC,GAAG,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/components/Tooltip/context.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE5E,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,OAAO,GAAG,aAAa,CAAyB,SAAS,CAAC,CAAA;AAEhE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,QAAQ,EAA0B,EAAE,EAAE;IACtE,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IACxC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAmB,CAAA;IACzD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAA;IAC9D,OAAO,CACL,MAAC,OAAO,CAAC,QAAQ,IAAC,KAAK,EAAE,GAAG,aACzB,QAAQ,EACT,KAAC,UAAU,IAAC,GAAG,EAAE,GAAG,YAAG,OAAO,GAAc,IAC3B,CACpB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IAC/B,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAA;IACzG,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/style.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,MAAM,CAAA;AAElC,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/style.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,MAAM,CAAA;AAElC,eAAO,MAAM,UAAU,wOAUtB,CAAA;AAED,eAAO,MAAM,cAAc,wOAM1B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.js","sourceRoot":"","sources":["../../../src/components/Tooltip/style.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAA;AAElC,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"style.js","sourceRoot":"","sources":["../../../src/components/Tooltip/style.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAA;AAElC,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAA;;;wBAGZ,eAAe,GAAE,IAAI;;;;;;;CAO5C,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAA;;sBAElB,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;WACnC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY;;;CAG1C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAA;AAEjE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAA;AAEjE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B"}
|
package/dist/features.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../src/features.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB;IAC5D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../src/features.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB;IAC5D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,eAAe,EAAE,gBAM7B,CAAA"}
|
package/dist/features.js
CHANGED
package/dist/features.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features.js","sourceRoot":"","sources":["../src/features.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,eAAe,GAAqB;IAC/C,KAAK,EAAE,IAAI;IACX,SAAS,EAAE,IAAI;IACf,eAAe,EAAE,IAAI;IACrB,KAAK,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"features.js","sourceRoot":"","sources":["../src/features.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,eAAe,GAAqB;IAC/C,KAAK,EAAE,IAAI;IACX,SAAS,EAAE,IAAI;IACf,eAAe,EAAE,IAAI;IACrB,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,IAAI;CAClB,CAAA"}
|
package/dist/layout.css
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { LabeledWithImage } from './types.js';
|
|
1
2
|
export interface SerializableAction {
|
|
2
3
|
title: string;
|
|
3
4
|
type: 'link' | 'command';
|
|
@@ -20,13 +21,13 @@ export interface KnowledgeSource {
|
|
|
20
21
|
}
|
|
21
22
|
export interface TextChatEntry {
|
|
22
23
|
type: 'text' | 'md';
|
|
23
|
-
|
|
24
|
+
agentType: 'bot' | 'user' | 'system';
|
|
24
25
|
actions?: ChatAction[];
|
|
25
26
|
subtitle?: string;
|
|
26
27
|
content: string;
|
|
27
28
|
knowledgeSources?: KnowledgeSource[];
|
|
28
29
|
updated?: string;
|
|
29
|
-
|
|
30
|
+
agent?: LabeledWithImage;
|
|
30
31
|
messageId?: string;
|
|
31
32
|
error?: string;
|
|
32
33
|
}
|